是的,CSS3 支持变量定义,这是通过 CSS 自定义属性(Custom Properties) 实现的,通常被称为 CSS 变量。
CSS 变量允许你在样式表中定义可复用的值,并在整个文档中使用它们。
✅ 典型用途:
变量必须定义在 选择器内部,最常见的是定义在 :root 中(全局作用域):
:root {
--primary-color: #3498db;
--font-size: 16px;
}
--开头的是变量名,区分大小写。
使用 var() 函数读取变量:
body {
color: var(--primary-color);
font-size: var(--font-size);
}
CSS 变量具有 作用域特性:
:root {
--color: red;
}
.box {
--color: blue;
color: var(--color); /* 使用 blue */
}
.text {
color: var(--color); /* 使用 red */
}
✅ 就近原则:优先使用当前作用域内的变量。
如果变量未定义,可提供默认值:
.box {
color: var(--color, #000); /* 如果 --color 不存在,使用 #000 */
}
CSS 变量可以被 JS 动态修改:
document.documentElement.style.setProperty('--primary-color', '#e74c3c');
document.documentElement.style.getPropertyValue('--primary-color');
变量值不会做计算
--size: 10px;
width: var(--size) * 2; /* ❌ 不支持 */
正确方式:
--size: 10px;
width: calc(var(--size) * 2);
变量名区分大小写:
--color ≠ --Color
:root {
--bg-color: #ffffff;
--text-color: #000000;
}
.dark {
--bg-color: #000000;
--text-color: #ffffff;
}
body {
background-color: var(--bg-color);
color: var(--text-color);
}
<body class="dark">
<p>暗黑模式</p>
</body>
✅ 总结一句话:
CSS3 支持变量定义,通过 --变量名 定义,用 var() 使用,是现代 CSS 中非常重要的特性。
如果你需要,我也可以帮你对比 CSS 变量 vs 预处理器变量(Sass/Less) 的区别。
免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。