CSS学习之如何用js修改css

背景

无论是移动端还是web端,通常会遇到切换主题色的需求,为了保持整体页面风格统一,避免不了CSS的调整。为了尽可能的减少代码变动,需要将页面中的公共颜色提取,用一个CSS变量去集中控制整体颜色的变化。

CSS自定义颜色变量
基本用法:

声明一个自定义属性变量,属性需要以“–”开始,属性值可以是任何有效的CSS值。如:

:root{
	--theme-color:red;
}

规则集所指定的选择器决定了自定义属性的可见域。定义在根伪类:root下的自定义属性,可以在全局任何地方访问到它。

备注: 自定义属性名是大小写敏感的,–my-color 和 --My-color 会被认为是两个不同的自定义属性。

使用:

局部变量使用自定义变量前,首先要确保能访问到自定义变量。若自定义变量维护在一个公共css文件中,无法直接访问到该自定义变量,那么需要先引入该公共文件,才能使用。

使用时需要用var()函数进行包裹:

.box {
  background-color: var(--theme-color);
}

或者

.box {
  background-color: var(--theme-color,"green");
}

var()传入第二个参数,表示若–theme-color不生效,则默认显示"green"。

如何改主题色?
html{
	--theme-color:red;
}

修改成绿色:

document.documentElement.style.setProperty('--theme-color', 'blue')

用这个方法,把自定义属性放:root里,改动了属性值,但是页面无变化。但是把自定义属性放html选择器下就生效了。

参考:任意门

  • 2
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值