通过js控制修改css变量的具体示例

 更新时间:2025年04月10日 09:39:54   作者:游九尘  
在网页开发中我们通常使用CSS来设置网页的样式,但是,在开发过程中,有时候我们需要根据不同的条件来动态修改样式,这篇文章主要介绍了通过js控制修改css变量的具体示例,需要的朋友可以参考下

前言

在JavaScript中,你可以通过操作CSS变量(也称为自定义属性)来动态改变样式。CSS变量在CSS中使用 – 前缀定义,例如 --main-color: red;。在JavaScript中,你可以使用 document.documentElement.style.setProperty 方法来设置这些变量,或者使用元素的 style.setProperty 方法(如果变量是在某个特定元素上定义的)。

以下是一些具体的示例:

1. 在全局范围内设置CSS变量

假设你有一个CSS变量 --main-color 定义在 :root 中:

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

你可以使用JavaScript来修改这个变量:

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

这样,所有使用了 --main-color 的元素都会更新为蓝色。

2. 在特定元素上设置CSS变量

如果你有一个CSS变量定义在某个特定的元素上,例如:

.my-element {  
    --border-color: black;  
}

你可以通过该元素的 style.setProperty 方法来修改这个变量:

const element = document.querySelector('.my-element');  
element.style.setProperty('--border-color', 'green');

3. 读取CSS变量的值

你也可以使用 getComputedStyle 方法来读取CSS变量的值:

const rootStyles = getComputedStyle(document.documentElement);  
const mainColor = rootStyles.getPropertyValue('--main-color');  
console.log(mainColor); // 输出 "blue"(假设之前已经被设置为蓝色)

4. 示例:动态改变背景颜色

下面是一个完整的示例,展示如何通过按钮点击事件动态改变CSS变量的值,从而改变页面的背景颜色:

<!DOCTYPE html>  
<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <meta name="viewport" content="width=device-width, initial-scale=1.0">  
    <title>CSS Variables with JavaScript</title>  
    <style>  
        :root {  
            --bg-color: lightblue;  
        }  
        body {  
            background-color: var(--bg-color);  
        }  
    </style>  
</head>  
<body>  
    <button id="changeColorBtn">Change Background Color</button>  
  
    <script>  
        const changeColorBtn = document.getElementById('changeColorBtn');  
        changeColorBtn.addEventListener('click', () => {  
            const newColor = prompt('Enter a new color:');  
            document.documentElement.style.setProperty('--bg-color', newColor);  
        });  
    </script>  
</body>  
</html>

在这个示例中,点击按钮后会弹出一个提示框,让用户输入一个新的颜色值。然后,JavaScript会修改 :root 中的 --bg-color 变量,从而改变整个页面的背景颜色。

通过这些方法,你可以灵活地使用JavaScript来动态控制CSS变量的值,从而实现丰富的交互效果。

附:JS中修改css中的自定义变量

var root = document.querySelector(':root');
root.style.setProperty('--customHeight', "36px");

总结

到此这篇关于通过js控制修改css变量的文章就介绍到这了,更多相关js控制修改css变量内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • JavaScript网页表单form中禁止自动提交的两种方式

    JavaScript网页表单form中禁止自动提交的两种方式

    本文是我本人在开发网页时,在表单中加入了button按钮,本来是用于jQuery点击相应事件的按钮,然后,但我点击button时,发现不是达到jQuery指定效果,所以在本文中,我们将讨论网页表单(form)中提交的两种方式,需要的朋友可以参考下
    2024-06-06
  • 引入外部js脚本加载慢与页面白屏问题的解决

    引入外部js脚本加载慢与页面白屏问题的解决

    最近做的一个项目需要引入一个外部的第三方js脚本。发现加载比较慢,这篇文章主要介绍了引入外部js脚本加载慢与页面白屏问题的解决,感兴趣的小伙伴们可以参考一下
    2018-12-12
  • JavaScript使用padStart()方法进行字符串填充的实战指南

    JavaScript使用padStart()方法进行字符串填充的实战指南

    在编程实践中,字符串填充是高频操作需求,无论是格式化输出、数据对齐还是生成固定格式标识符,都需要高效可靠的填充方案,本文将深入探讨JavaScript中最优雅的字符串填充方案——padStart()方法,需要的朋友可以参考下
    2025-10-10
  • js实现checkbox全选、不选与反选的方法

    js实现checkbox全选、不选与反选的方法

    这篇文章主要介绍了js实现checkbox全选、不选与反选的方法,以实例形式详细分析了实现的思路及对应的html与js代码的实现过程,非常具有实用价值,需要的朋友可以参考下
    2015-02-02
  • JavaScript实现函数执行拦截的多种方法

    JavaScript实现函数执行拦截的多种方法

    函数执行拦截是JavaScript中强大的元编程技术,可以实现日志记录、性能监控、权限控制等功能,本文将深入探讨多种函数拦截方法,从基础到高级,帮助您全面掌握这一技术,需要的朋友可以参考下
    2025-06-06
  • JavaScript页面滚动事件举例详解

    JavaScript页面滚动事件举例详解

    这篇文章主要介绍了页面滚动事件的基础概念、应用场景及优化技巧,帮助开发者在实际项目中灵活使用滚动事件,提升用户体验,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2025-01-01
  • TypeScript遍历Array的方法(for,forEach,every)

    TypeScript遍历Array的方法(for,forEach,every)

    本文主要介绍了TypeScript遍历Array的方法(for,forEach,every),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2022-06-06
  • 自定义事件解决重复请求BUG的问题

    自定义事件解决重复请求BUG的问题

    下面小编就为大家带来一篇自定义事件解决重复请求BUG的问题。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-07-07
  • es6学习笔记之Async函数基本教程

    es6学习笔记之Async函数基本教程

    这篇文章主要给大家介绍了关于es6中Async函数的基本教程,文中介绍的非常详细,对大家学习async函数具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧。
    2017-05-05
  • 轻松掌握JavaScript享元模式

    轻松掌握JavaScript享元模式

    这篇文章主要帮助大家轻松掌握JavaScript享元模式,告诉大家想什么是js享元模式,感兴趣的小伙伴们可以参考一下
    2016-08-08

最新评论