使用 JavaScript 获取和设置 CSS 变量
要使用 JavaScript 获取和设置 CSS 变量,我们可以使用多种方法。getComputedStyle() 方法返回一个对象,其中包含应用于目标元素的所有样式。getPropertyValue() 方法用于从计算出的样式中获取所需的属性。setProperty() 方法用于更改 CSS 变量的值。
在本文中,我们有一个 div 和一个按钮,我们的任务是使用 JavaScript 获取和设置 CSS 变量。通过获取和设置 CSS 变量,我们将在点击按钮时更改 div 的背景颜色。
使用 JavaScript 获取和设置 CSS 变量的步骤
- 我们使用了 div 和 button 标签来创建一个按钮,并将其包装在 div 容器内。
- 我们使用了 container 类来设置 高度、背景颜色,并使用 justify-content 和 align-items 属性将按钮居中。 display 属性使 div 容器成为一个 弹性盒子。
- 我们使用了 :root 伪类选择器在 CSS 中全局声明变量。我们全局声明了 --custom-bg-color 变量。
- 我们使用了 getPropertyValue('--custom-bg-color') 来获取变量 custom-bg-color 的当前颜色值以确定背景颜色,并将其存储在 currColor 中。
- 然后,我们使用了 if-else 条件语句来设置 div 的背景颜色。
- 如果 currColor 不是黑色,那么我们使用 setProperty 方法将变量 --custom-bg-color 的值设置为黑色。它在点击时将背景颜色设置为黑色。
示例
这是一个实现上述步骤的示例,使用 JavaScript 获取和设置 CSS 变量以在点击按钮时更改 div 的背景颜色。
<!DOCTYPE html>
<html lang="en">
<head>
<style>
:root {
--custom-bg-color: rgb(138, 21, 21);
}
.container {
display: flex;
justify-content: center;
height: 200px;
align-items: center;
background-color: var(--custom-bg-color);
}
button {
padding: 15px;
font-size: 20px;
cursor: pointer;
}
</style>
</head>
<body>
<div class="container">
<button onclick="toggle()">
Change Theme
</button>
</div>
<script>
function toggle() {
let root = document.documentElement;
let currColor = getComputedStyle(root)
.getPropertyValue('--custom-bg-color');
if (currColor === 'rgb(138, 21, 21)') {
root.style.setProperty('--custom-bg-color', 'black');
} else {
root.style.setProperty('--custom-bg-color',
'rgb(138, 21, 21)');
}
}
</script>
</body>
</html>
结论
在本文中,为了使用 JavaScript 获取和设置 CSS 变量,我们使用了 getComputedStyle()、getPropertyValue() 和 setProperty() 方法。我们使用了一个在点击按钮时更改背景颜色的示例。我们使用 getPropertyValue() 获取颜色值,并使用 setProperty() 设置 div 的新背景颜色。
广告
数据结构
网络
关系型数据库管理系统
操作系统
Java
iOS
HTML
CSS
Android
Python
C 编程
C++
C#
MongoDB
MySQL
Javascript
PHP