动态修改css中:root定义的变量-换肤、主题色

html-css013

动态修改css中:root定义的变量-换肤、主题色,第1张

前端中有用到需要设置主题颜色,根据用户喜欢实现换肤的可以使用css中:root定义变量的方式,或者使用动态切换引入的外部css样式表实现,这里着重记录下动态修改css中:root定义的变量实现换肤:

这里定义变量必须是以'--'开头,然后其他页面的样式表就可以直接引用这个变量了

至此就完成了动态修改:root变量实现换肤了,具体的应用场景中我们应该是在页面上操作,选中需要的肤色然后修改:root定义的变量值,考虑到浏览器刷新会重置原始状态的值,这里要结合本地存储方式记住选中的肤色,具体的实现参考:

这个是可以实现的额,js通过修改浏览器的DOM对象是可以修改css样式的值的。

代码实例如下:

<!doctype html>    

<html>    

<head>    

<meta charset="UTF-8">    

<title>变色</title>    

<style type="text/css">    

#div1{width: 200px height: 200px background: #ccc}    

</style>    

<script type="text/javascript">    

function chan(){    

var change=document.getElementById('div1')    

change.style.width="100px"    

change.style.height="50px"    

change.style.background="#000000"    

}    

</script>    

</head>    

<body>    

<div id="div1"></div>    

<input type="button" value="改变" onclick="chan()">

通过更改css的属性实现了颜色和宽高的改变。

不能写成 backgroundposition,应该是 background-position ,然后值的话你要注意,是两个 水平方向 和 垂直方向,如果您仅定义了一个值,那么第二个值将是"center"。

代码应为: $(this).parent().css("background-position", 0+parseInt($pos) + "px")

还有 $ 符号是定义jquery对象的,变量的话 就没有必要了吧。