通过JS改变CSS样式(主题替换及样式通过变量全局改变)
我们在开发是如果遇到开发的项目会被集成的对方的项目里时 经常会因为主题风格不统一而面临修改样式 若果只通过第三方给的变量来改变css类名 就会出现我要接几个项目 就得写几组样式每次修改还得发包 这样既不利于维护 开发成本也高 那么这时候就用上 css var()变量 及 style.setProperty()方法
了解style.setProperty(),css var()
css var():
var(): 定义一个名为 “- -随机(英文不带数字)” 的属性,然后使用 var() 函数调用该属性
例子:
1 | :root { |
兼容性:
style.setProperty():
style.setProperty():用于设置一个新的 CSS 属性,同时也可以修改 CSS 声明块中已存在的属性
例子:
1 | var declaration = document.styleSheets[0].cssRules[0].style; |
兼容性:
详细了解
style.setProperty() ==> https://www.runoob.com/jsref/met-cssstyle-setproperty.html
css var() ==> https://www.runoob.com/cssref/func-var.html
scss实际引用:
第一步:
1 | body { |
第二步:
1 | $theme:var(--HomeTheme,#26AF8C); |
第三步:
1 | var obj={ //示例数据 |