Skip to content

:root 和 html 在 CSS 中有什么区别?

CSS 有两种方式可以定位 HTML 文档的根元素 - :root 伪类和 html 选择器。虽然它们非常相似,但它们有一些你应该了解的区别。

选择器特异性

:root 选择器的特异性高于 html 选择器。这是因为 :root 是一个伪类选择器,而 html 是一个类型选择器。

:root {
  background-color: red;
}

html {
  background-color: blue;
}

/* HTML 文档的根元素将具有红色的背景颜色。 */

定位根元素

CSS 可以用于为除了 HTML 之外的其他类型的文档设置样式。这就是 :root 元素的作用,它允许你为文档的根元素设置样式。这在为 SVG 文档设置样式时尤为重要,因为 html 选择器在这种情况下无法工作。