我最近注意到我一直在使用all
在每一个@media
查询规则,我不明白为什么我这样做。
我在网上搜索过,我发现大多数@media
网络上的规则示例使用如下格式@media all and (some other condition...)
,为什么有媒体类型all
如果没有指定媒体类型,那么它已经隐含了?
可能是一些较旧的浏览器兼容性问题?
我想我真正要问的是为什么使用媒体类型是常见做法all
什么时候不需要呢?
正如在媒体查询 W3C 推荐:
“all”用于指示样式表适用于所有媒体类型。
...
为适用于所有媒体类型的媒体查询提供简写语法;关键字“all”可以省略(以及尾随的“and”)。 IE。如果没有明确给出媒体类型,则为“全部”。
词语的使用以表示在我看来,第一个引用的句子听起来像all
其本身可以纯粹用于演示目的。
有几个部分all
然而,用于特定目的。在第3.1节该文件提到:
未知的媒体功能。用户代理将媒体查询表示为"not all"
当指定的媒体功能之一未知时。
未知的媒体特征值。与未知的媒体特征一样,用户代理将媒体查询表示为"not all"
当指定的媒体特征值之一未知时。
格式错误的媒体查询默认为not all
,还有。
另一个例子,正如 BoltClock 中提到的他的评论关于这个问题将使用only all
。关键词only
用于对旧用户代理隐藏样式表。我们可以使用以下 CSS 进行测试:
body {
background: red;
}
@media only all {
body {
background: green;
}
}
如果我们在现代浏览器中打开它,该文档的body
将具有绿色背景。如果我们在较旧的浏览器(例如 IE8)中打开它,该文档的body
将有红色背景。
JSFiddle 演示.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)