html - 所有平台的媒体查询,哪一个是正确的语法
问题描述
关于以下链接:
“only”用于媒体查询,因此不支持的旧浏览器media query
应该只读(并且因为连字符或字母不存在,而是一个空格 - 他们将停止进一步阅读),其余代码将不会应用(因为“仅”不是设备类型)。
总之,我们应该始终将“仅”写为良好实践,我们的代码将如下所示:
@media only screen and (min-width: 300px) and (max-width: 800px) { ... }
但是,使用该逻辑并应用only
以防止旧浏览器在读取后不支持媒体查询和其他关键字时弄乱代码screen
- 以下 CSS 将全局应用(参见上面的链接)。
现在,如果我想为 编写某些媒体查询all platforms
,即。https://www.w3.org/TR/CSS2/media.html
我的正确代码现在应该是什么:
@media only all and (min-width: 300px) and (max-width: 500px) { ... }
或者
@media all and (min-width: 300px) and (max-width: 500px) { ... }
请记住,all
是一个设备类型的关键字,因此在相同的逻辑下,旧版浏览器将(如果仅不使用关键字),将在全球范围内应用任何存在的 CSS 代码。
另一方面,我从未见过这样的代码,only all
我所期望的是语法错误并且 CSS 不会运行。
现在,有人可以为我提供合理的解决方案,这两个选项中哪一个是正确的?
解决方案
由于现在所有浏览器都支持媒体查询,您可以直接使用@media
它,它可以毫无问题地工作。bootstrap 也使用@meida
了现在在所有浏览器上都可以使用的东西。
@media (min-width: 300px) and (max-width: 500px) { ... }
因此,您只需要使用@media
,您将获得与使用相同的结果
@media only screen and (min-width: 300px) and (max-width: 500px) { ... }
请参考此链接,我相信它会有所帮助MDN @media
此外,此链接是非常有用的MDN 媒体查询
推荐阅读
- python - IndexError:索引 2 在文件绘图期间超出轴 1 的范围,大小为 2
- karate - JSONPath 在空手道中使用时不返回值,但使用在线评估器时不返回值
- reactjs - 您是否需要 Web 服务器来在 VPS 上运行 React 应用程序的生产版本?
- laravel - 如何在我的模板 PhpWord 中设置 Yes 或 No 值而不是 1 或 0?
- python - 在 Python 中链接数组匹配
- eclipse-rcp - 如何在 Eclipse RCP 应用程序中调用 Rest API?
- php - Laravel View 分享打破 PHPunit 测试
- numpy - 平均直到一个索引值与 Numpy 中另一个数组的值相对应
- c++ - 来自字符串 (__DATE__) 的 QDateTime 无效
- python - 如何将参数作为 JSON 传递给 python 脚本