当我们在CSS中声明变量时,为什么要这样写:
:root
{
--bgcolor:orange;
}
/* instead of */
*
{
--bgcolor:orange;
}
这两者有什么区别?
:root
是一个伪选择器,在99%的情况下相当于html
,但具有更高的特异性(特异性等于html+class)。
:root
根据文档的 format 选择文档的根元素。它的存在是因为 CSS 可以用于其他文档格式(SVG、XML)。
*
会将 CSS 应用于页面上的每个元素。这通常保留用于标准化、字体等。
*
和:root
之间的区别
*
是通用选择器
:root
是一个伪选择器
*
其特异性会更高。
:root
它的特异性会降低。