我似乎找不到太多关于此的信息。
Smashing Magazine似乎是这么说的,html
而且:root
是一回事,但肯定有一点区别吗?
我似乎找不到太多关于此的信息。
Smashing Magazine似乎是这么说的,html
而且:root
是一回事,但肯定有一点区别吗?
它们之间的一个技术区别是- 作为伪类比(类型选择器):root
具有更大的特异性html
:root {
color: red
}
html {
color: green;
}
<div>hello world</div>
因此,在上面的示例中,:root
选择器覆盖了html
选择器并且文本显示为红色。
对于 HTML 文档,没有区别 - 您的根元素是<html>
标签,因此html{}
和:root{}
(除了特异性不同)在语义上是等价的。
但是,您不仅可以将 CSS 应用于 HTML,还可以将 CSS 应用于所有类似 XML 的文档。这就是为什么:root
存在 - 无论文档类型如何,都以文档的根元素为目标。大多数人对这种差异感到困惑,因为 CSS 的压倒性主要用例是样式化 HTML 文档。
示例:您可以使用 CSS 设置 SVG 文档的样式。设置样式时,您的根元素将(显然;-))不是html
but svg
。请参阅以下SVG 标记列表。