利用css变量实现网页运行时scss变量值的切换
项目是采用scss进行的样式设定,通过设定css变量名的方式可以实现网站运行时的颜色整体切换。
1. 利用css变量实现scss的变量值修改。
示例:
1.1 css变量设定
:root {
--my-color: #999999;
}
1.2. scss变量中使用css变量的值$myColor的值
.demo{
$myColor: var(--my-color, #888888)
}
var() 函数用于插入自定义的属性值
-
两个参数:property,value
- property:必填,自定义属性的名称,必需以 -- 开头
- value:可选,备用值,在属性不存在的时候使用
-
var(--my-color, #888888)
会先查找css变量--my-color,若存在则使用该变量的值,若不存在则$myColor的值会是#888888
1.3. 通过修改css变量值来动态修改scss变量的值
js中获取与设置css变量的方法
//获取
getComputedStyle(document.documentElement).getPropertyValue('--my-color')
//设置
document.documentElement.style.setProperty('--my-color', 'pink')