十年网站开发经验 + 多家企业客户 + 靠谱的建站团队
量身定制 + 运营维护+专业推广+无忧售后,网站问题一站解决
前端中有用到需要设置主题颜色,根据用户喜欢实现换肤的可以使用css中:root定义变量的方式,或者使用动态切换引入的外部css样式表实现,这里着重记录下动态修改css中:root定义的变量实现换肤:
站在用户的角度思考问题,与客户深入沟通,找到榆阳网站设计与榆阳网站推广的解决方案,凭借多年的经验,让设计与互联网技术结合,创造个性化、用户体验好的作品,建站类型包括:成都网站设计、成都做网站、企业官网、英文网站、手机端网站、网站推广、域名注册、虚拟空间、企业邮箱。业务覆盖榆阳地区。
这里定义变量必须是以'--'开头,然后其他页面的样式表就可以直接引用这个变量了
至此就完成了动态修改:root变量实现换肤了,具体的应用场景中我们应该是在页面上操作,选中需要的肤色然后修改:root定义的变量值,考虑到浏览器刷新会重置原始状态的值,这里要结合本地存储方式记住选中的肤色,具体的实现参考:
用css样式相关的接口 stylesheet.insertRule或者stylesheet.addRule 这两个都可以动态插入css样式 兼容性还可以 ie9+
比如
myStyle.insertRule("#blanc { color: white }", 0);
需要删除的时候还有deleteRule和removeRule两个方法
如何配置自行百度
1.scss文件定义变量
2.js中更改$textColor 变量的值
都是获取DOM
通过DOM分别修改当前DOM样式属性值、
当前DOM整体css样式、
修改当前DOM的className类名、
将link引入的标签作为DOM 修改link的href,从而修改引用的样式表。
详情转自:
JS控制css样式的几种方式
我们在js的工作学习中总会遇到一些不轻易通过style属性动态加载css样式的情况(eg:伪类的样式控制,动画的样式控制),这里总结一下js改变样式的几种方法:
1,通过style属性或者setAttribute()来更改样式
2,如果只是改变伪类(after,before)的content内容也可以这么做
3,通过更改类名来更改样式
4,那么重点来了:利用document.styleSheets我们获取到所有样式表,然后选择一个样式表通过 insertRule 来添加样式;也可以创建新的cssRules,通过addRule()来添加样式
5,动态加载样式表
如果需要更改的样式比较多,还是建议通过动态加载样式的方式来改变页面样式
本文来自PHP中文网,原文地址: 推荐视频教程:《 js基础教程 》
推荐使用js的经典第三方库jQuery,调用方便,代码精简:jquery中css()方法可以设置或返回被选元素的一个或多个样式属性,下面的例子将返回首个匹配元素的background-color值:$("p").css("background-color")下面的例子将设置所有匹配到元素的background-color为红色:$("p").css("background-color","red")