我们在 CSS 中没有“常规”嵌套。 也许 这个 有一天会成为现实,或者类似的东西。 那将很酷,尽管该预规范没有提到任何关于媒体查询的内容。 如果我们真的得到原生 CSS 嵌套,我希望我们能从一开始就做到这一点。 事实上,我会毫不犹豫地用它来交换选择器嵌套。 我会说,这是 Sass 等 CSS 预处理器目前最实用的功能。
但我还没开始就已经跑题了。 你可以嵌套媒体查询 在 原生 CSS 中,只要你从根部进行嵌套。 在原生 CSS 中看到它很有趣,但它确实有效!
@media screen {
@media (min-width: 1px) {
@media (min-height: 1px) {
@media (max-width: 9999px) {
@media (max-height: 9999px) {
body {
background: red;
}
}
}
}
}
}
我希望 CSS 能原生支持 (我目前在 Sass 中使用它) 将媒体查询嵌套在选择器内部,就像这样
它颠覆了逻辑,变为“当视图超过 800 像素时,.foo-bar 元素具有样式”,而不是“当视图超过 800 像素时,内部元素 (包括 .foo-bar) 具有这些样式”
我经常看到一个庞大的媒体查询,其中包含该屏幕尺寸下所有选择器的样式调整。 当你必须移动代码时,你可能会留下一些部分。 以这种方式包含它使得代码更加模块化,每个元素的样式都包含在一个父括号对中。
我已经暂停编码几年了,但我刚开始了一个新项目,我想尝试一些新的开发方式。 我没有使用 scss,而是选择了
postcss-preset-env
,它包含了 Chris 帖子中提到的草案规范。它允许我编写以下代码 (其中也包含自定义媒体类型)
这简直太棒了。 也许有一天我将能够删除后处理器步骤,我的代码仍然可以工作——我们拭目以待吧!
console.log(
最大高度 = 54 像素)
“从根部进行嵌套”究竟是什么意思?