:root是CSS根元素选择器,用于定义全局变量,如--primary-color: #007bff;通过var(--变量名)引用,可统一管理颜色、字体等样式值,提升维护性与主题定制灵活性,支持响应式及JavaScript动态切换,实现全站样式一致性。

在CSS中,可以利用 :root 伪类来定义全局变量,这些变量可以在整个样式表中复用,特别适合统一管理颜色、字体、间距等常用值。这种方式提升了代码的可维护性,并让主题定制变得更简单。
:root 是什么?
:root 选择器匹配文档的根元素(在HTML中就是 html 元素),它的优先级高于普通选择器,因此非常适合用来声明自定义属性(即CSS变量)。
如何使用 :root 定义颜色和字体变量?
通过 --变量名 的语法在 :root 中定义变量,然后使用 var(--变量名) 来引用它们。
立即学习“前端免费学习笔记(深入)”;
示例:
:root {
/* 颜色变量 */
--primary-color: #007bff;
--secondary-color: #6c757d;
--text-color: #333;
--bg-color: #fff;
/ 字体变量 /
--font-main: 'Segoe UI', sans-serif;
--font-size-base: 16px;
--line-height-base: 1.5;
}
在其他样式中使用这些变量:
body {
background-color: var(--bg-color);
color: var(--text-color);
font-family: var(--font-main);
font-size: var(--font-size-base);
line-height: var(--line-height-base);
}
.btn-primary {
background-color: var(--primary-color);
padding: 10px 20px;
color: white;
border: none;
border-radius: 4px;
}
这样做的优势
- 修改主题时只需调整 :root 中的变量值,全站样式自动更新。
- 团队协作中保持视觉一致性。
- 结合JavaScript动态切换主题(如暗黑模式)非常方便。
例如,切换为暗色主题:
@media (prefers-color-scheme: dark) {
:root {
--bg-color: #1a1a1a;
--text-color: #eaeaea;
--primary-color: #0d6efd;
}
}
基本上就这些。使用 :root 定义变量是现代CSS开发中的良好实践,尤其在项目规模较大时效果显著。










