前言
说来惭愧,最近学习sass后,才发现原来css中也可以写变量,原来自己对css的知识只是冰山一角,接下来我们就来写一个简单的动态改变背景颜色的demo
css中如何定义变量
:root{
--color: #000;
}
如何使用
body{
height: 96vh;
background-color: var(--color);
}
js中获取变量值
const rootColor = getComputedStyle(document.documentElement).getPropertyValue('--color');
js中动态改变变量值
document.documentElement.style.setProperty('--color', 值);
完整代码
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>简单的背景选择</title>
<style>
:root{
--color: #000;
}
body{
height: 96vh;
background-color: var(--color);
}
</style>
</head>
<body>
<input type="color" id="color">
<script>
// const rootColor = getComputedStyle(document.documentElement).getPropertyValue('--color');
let colorSelector = document.querySelector('#color');
colorSelector.addEventListener('change', (e) => {
// 通过改变css变量,改变页面背景色
document.documentElement.style.setProperty('--color', e.target.value);
});
</script>
</body>
</html>
或许css才是最神秘的语言