本文共 2012 字,大约阅读时间需要 6 分钟。
在CSS自定义属性之前,CSS变量主要在预处理器如Less和SCSS中使用。然而,随着CSS的不断发展,自定义属性已经成为标准的CSS特性,能够在无需预处理器的支持下直接使用。
变量名的大小写敏感性
变量名必须遵循CSS的命名规则,且大小写敏感。例如,--color与--Color是不同的变量。变量值的类型
变量值可以是任何有效的CSS值,包括字符串、颜色值、数值等。--primary-color: #ff6b6b;--gap: 20px;变量的使用方式
使用变量时,可以通过var()函数引用。例如:.container { background-color: var(--primary-color); }```变量的组合使用
当需要将多个变量拼接使用时,可以直接在CSS中进行操作。:root { --screen-category: 'category'; } .content { content: '--screen-category: ' + var(--screen-category); }```calc()函数计算。例如:.foo { --gap: 20; margin-top: calc(var(--gap) * 1px); }```变量的默认值
在定义变量时,可以为未定义变量设置默认值。例如:body { background-color: var(--color, #cd0000); }```如果`--color`未定义,则默认使用`#cd0000`。:root定义。例如::root { --color: red; } body { background-color: var(--color); }```.box { --1: #369; } body { background-color: var(--1, #cd0000); }```这里的`--1`只在`.box`作用域内有效。.wrapper { --color: red; } .content1 { --color: yellow; } .content2 { }在上述代码中,.content2没有定义--color,因此其颜色会继承.wrapper的red。
// 读取变量值 const root = document.documentElement; const color = root.getPropertyValue('--color').trim(); // 修改变量值 root.style.setProperty('--color', 'yellow'); color = root.getPropertyValue('--color').trim(); // 删除变量 root.style.removeProperty('--color'); color = root.getPropertyValue('--color').trim(); CSS变量
预处理器
通过合理使用CSS自定义属性,可以显著提升开发效率,同时降低维护成本。
转载地址:http://hjca.baihongyu.com/