CSS 媒体查询:W3 验证器在否定没有媒体类型的查询时失败 - 错误或规范的一部分?
CSS media query: W3 validator fails when negating query without media type - bug or part of specification?
我正在验证一些 CSS media queries using the 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" 关键字之前存在媒体类型(本例中的 "screen")。我在 https://www.w3.org/TR/css3-mediaqueries/ 的 CSS3 规范中找不到任何对这种行为的引用 这是验证器中的错误还是 CSS 规范的一部分?
其中syntax defined in the CSS3 Media Queries specification表示它只接受"not"(而"only")只能在一个媒体类型之前使用:
media_query
: [ONLY | NOT]? S* media_type S* [ AND S* expression ]*
| expression [ AND S* expression ]*
(尽管它适用于整个查询)
我猜你需要在使用 'not' 关键字时使用 recognized screentype,否则你的浏览器会尝试将样式表应用到 'not' 屏幕
我正在验证一些 CSS media queries using the 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" 关键字之前存在媒体类型(本例中的 "screen")。我在 https://www.w3.org/TR/css3-mediaqueries/ 的 CSS3 规范中找不到任何对这种行为的引用 这是验证器中的错误还是 CSS 规范的一部分?
其中syntax defined in the CSS3 Media Queries specification表示它只接受"not"(而"only")只能在一个媒体类型之前使用:
media_query
: [ONLY | NOT]? S* media_type S* [ AND S* expression ]*
| expression [ AND S* expression ]*
(尽管它适用于整个查询)
我猜你需要在使用 'not' 关键字时使用 recognized screentype,否则你的浏览器会尝试将样式表应用到 'not' 屏幕