gpt4 book ai didi

javascript - 如何使用 JS 编辑 CSS 变量?

转载 作者:行者123 更新时间:2023-11-27 22:57:01 25 4
gpt4 key购买 nike

我有这些 CSS 变量来控制我的元素的颜色,所以我可以做主题。

html {
--main-background-image: url(../images/starsBackground.jpg);
--main-text-color: #4CAF50;
--main-background-color: rgba(0,0,0,.25);
--beta-background-color: rgba(0,0,0,.85);
}

然而,无论我如何尝试更改属性(分别尝试的两条注释行),我得到的最接近的结果是返回无效属性。

function loadTheme() {
var htmlTag = document.getElementsByTagName("html");
var yourSelect = document.getElementById( "themeSelect" );
var selectedTheme = ( yourSelect.options[ yourSelect.selectedIndex ].value );
// htmlTag[0].setAttribute('--main-text-color', '#FFCF40');
// $("html").css("--main-text-color","#FFCF40");
}

the error message

最佳答案

原来可以使用 el.style.cssText 属性或 el.style.setPropertyel.setAttribute 更改 CSS 变量方法。在您的代码片段中 el.setAttribute 被错误地使用,这导致了您遇到的错误。正确的方法是:

document.documentElement.style.cssText = "--main-background-color: red";

document.documentElement.style.setProperty("--main-background-color", "green");

document.documentElement.setAttribute("style", "--main-background-color: green");

演示

以下演示使用 CSS 变量定义背景颜色,然后在加载 2 秒后使用 JS 代码片段更改它。

window.onload = function() {
setTimeout(function() {
document.documentElement.style.cssText = "--main-background-color: red";
}, 2000);
};
html {
--main-background-image: url(../images/starsBackground.jpg);
--main-text-color: #4CAF50;
--main-background-color: rgba(0,0,0,.25);
--beta-background-color: rgba(0,0,0,.85);
}

body {
background-color: var(--main-background-color);
}

这显然只适用于支持 CSS 变量的浏览器。

关于javascript - 如何使用 JS 编辑 CSS 变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59211507/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com