新年快乐,开工大吉。今天带大家了解一个实用的CSS新特性:@scope规则。在Sass或Less这类CSS预编译工具中嵌套语法较为常见,就像这样,可以一定程度上简化CSS代码的书写,让层次结构更清晰。
@scope规则的作用与之类似,例如将刚才的Sass嵌套改为@scope规则书写,就会是这样,可以看到样式按照正确的预期渲染了,这里的背景色成功渲染了。
@scope规则不会改变CSS选择器的优先级,例如这里的@scope(nav)的优先级等同于nav,右边的案例可以证明这一点。如果@scope(nav)不参与优先级计算,遵循后来居上的原则,上面这个链接的背景色应该是浅粉色,但事实没有,说明@scope(nav)参与了优先级计算。