我有这些CSS变量来控制我的项目的颜色,所以我可以做主题。如何使用JS编辑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");
}
我不记得'--main-text-color'是一个有效的CSS属性。那是使用预处理器吗? – ochi
不,它是一个css变量。我在这篇文章中发现了他们 –
https://www.broken-links。COM/2014/08/28/CSS-变量更新管理自定义属性的JavaScript/ –