CSS媒体查询:当没有媒体类型否定查询时,W3验证器失败 - 错误或部分规范?

时间:2016-08-18 09:24:29

标签: css css3 media-queries w3c-validation

我使用CSS media queries验证了一些W3C CSS Validation Service

以下查询显示为有效:

@media (min-width: 1024px) and (orientation: landscape) and (min-resolution: 1dppx){}

以下否定查询显示为无效:

@media not (min-width: 1024px) and (orientation: landscape) and (min-resolution: 1dppx){}

此查询(其中媒体类型添加到先前的否定查询中)显示为有效:

@media not screen and (min-width: 1024px) and (orientation: landscape) and (min-resolution: 1dppx) {}

因此,显然验证服务要求在接受" not"之前存在媒体类型("屏幕"在此示例中)。关键词。我在https://www.w3.org/TR/css3-mediaqueries/的CSS3规范中找不到对此行为的任何引用这是验证器中的错误还是CSS规范的一部分?

2 个答案:

答案 0 :(得分:2)

syntax defined in the CSS3 Media Queries specification表示它只接受" not" (和#34;仅")只能在媒体类型之前使用:

media_query
 : [ONLY | NOT]? S* media_type S* [ AND S* expression ]*
 | expression [ AND S* expression ]*

(虽然它适用于整个查询)

答案 1 :(得分:0)

我猜你在使用' not'时需要使用recognized screentype。关键字,否则您的浏览器会尝试将样式表应用于' not'屏