2026-10-30 09:03:15
原生 CSS 将支持嵌套,这是一个能够极大提升 CSS 代码可读性和维护性的重要特性。以下是关于原生 CSS 嵌套你需要了解的关键信息:
什么是 CSS 嵌套?CSS 嵌套是指将一个选择器包含在另一个选择器中,从而有助于将相关联的样式分组,并在相嵌套的层级结构中编写 CSS。例如,传统的 CSS 写法可能如下:

而使用嵌套的方式,可以写成:

这种语法在 SCSS 和 Less 等预处理器中已经得到广泛应用。
嵌套的优点在原生 CSS 中使用嵌套,需要在每个嵌套选择器前面加上 & 符号或者使用 @nest 指令。例如:

注意到选择器开头的 & 符号了吗?只有加上它,在 CSS 中的嵌套才会生效。同时 &:hover 则保持不变,在这种情况下,没有必要额外增加一个 &。
@nest 指令的使用虽然 & 符号可以直接用于嵌套,但在某些情况下,它可能无法处理有效的嵌套选择器。这时,可以使用 @nest 指令来增强嵌套的灵活性。例如:

上面的例子展示了如何使用 @nest 指令来修正无法直接嵌套的情况。
CSS 嵌套与权重在 CSS 中,权重是决定哪些样式将被实际应用于元素的规则。嵌套可能会影响权重的计算,因此在使用嵌套时需要特别注意。例如:

在这个例子中,尽管 .paragraph span 选择器在样式表中后定义,但由于 #header 选择器具有更高的权重,因此 span 元素的颜色仍然是红色。
常用的嵌套指南原生 CSS 嵌套是一个令人兴奋的特性,它将有助于提升 CSS 代码的可读性和可维护性。通过嵌套,我们可以将所有与选择器相关的样式放在同一个地方,包括子/父选择器以及媒体查询。同时,我们也需要在使用嵌套时注意权重优先级和避免过度嵌套。关于 CSS 嵌套的进一步研究,可以参考 W3C 有关 CSS 嵌套的草案。