【发布时间】:2020-11-12 07:46:22
【问题描述】:
考虑以下 HTML:
<div id="x">A</div>
并说我想对其应用以下样式规则:
- 如果屏幕宽度为 600px 或更大,我想应用一个盒子阴影。
- 如果屏幕宽度小于 600 像素,我想应用实心边框。
我的直觉是这样写查询:
@media (min-width: 600px)
{
#x { box-shadow: 10px 5px 5px green; }
}
@media not (min-width: 600px)
{
#x { border: solid 1px #666; }
}
<div id="x">A</div>
这在 Firefox 中完美运行,但在 Chrome 和 Safari 中,永远不会应用 not 查询。
我能想到其他三个选项:
-
@media (max-width: 599px)
如果浏览器缩放级别不是 100%,这有可能应用 nother 样式,请参阅 this GitHub issue。 -
@media (max-width: 600px)
这是保证在窗口宽度正好为 600 像素时应用这两个查询。 - 转储默认规则集中的一种样式并“撤消”它在任何地方使用
<attribute>: default手动执行的所有操作。
这根本不切实际。
有什么方法可以在不遗漏边缘情况的情况下完成上述任务?
我觉得以前有人会问过这个问题,但你不能用谷歌搜索 not 查询,因为你会发现“不工作”。
【问题讨论】:
标签: css media-queries