为什么大部分CSS自定义属性放在:root中

2019-05-202131次阅读css模块

网上大约99%的CSS自定义属性都是在:root上设置的。有想过为什么他们都是在:root中设置自定义属性吗?

:root {
  --color: red;
}

html {
  --color: blue;
}

.example {
  background: var(--color);
  /*会变红,因为:root优先级更高*/
}

建议使用:root的主要原因是因为CSS不仅用于设置HTML文档的样式,它还用于XML和SVG文件。对于XML和SVG文件,:root不会选择html元素,而是选择它们的根(例如svg文件中的SVG标记)。

因此,全局范围的自定义属性的最佳实践是:root。使用的人多了,它很快就变成了“标准”。

上一篇: 锚点定位更平滑css实现scroll-behavior  下一篇: Sass中&符以及Sass变量使用  

为什么大部分CSS自定义属性放在:root中相关文章