我想使用media属性根据用户代理链接到不同的css文件。我对如何使用关键字“only”感到困惑。 W3网站声明“可选的”唯一“关键字可用于隐藏旧浏览器中的样式表。浏览器处理以”仅“开头的媒体查询,就好像”唯一“关键字不存在一样。”这不是一个非声明吗?我读到它说:“如果关键字'仅'存在,旧版浏览器会忽略它。”那为什么要用呢?我知道我在这里遗漏了一些重要的信息。有人可以帮忙吗?
答案 0 :(得分:7)
only 关键字隐藏了不支持媒体查询的旧版浏览器的样式表。
可在此处找到更多信息:https://developer.mozilla.org/en/CSS/Media_queries
答案 1 :(得分:4)
“如果关键字'only'存在,旧版浏览器会忽略它。”
是的。 “它”特别是CSS3媒体查询(大多数你会看到的),而不是有限/愚蠢的早期媒体查询。
那为什么要用呢?
为了避免浏览器检测并处理错误:至少这意味着错误控制台没有填满无关的消息,在许多情况下,它避免向用户显示对话框和/或调试器窗口,有时它甚至意味着浏览器不会在您的页面上“禁止”拒绝显示它。
答案 2 :(得分:0)
*
和only *
之类的查询是相同的表示形式,因此合规浏览器会通过将其从表示中删除来正确解释only
关键字。
较旧的浏览器无法识别only
,将其解释为未知媒体类型,将查询评估为false
,并忽略(跳过)样式表。