3 回答

TA贡献1795条经验 获得超7个赞
您正在记录的属性(--var_teste)不存在。而是记录您实际使用的现有变量(--example_var)。
console.log("--var_teste: " + root_style.getPropertyValue("--example_var"));
演示版
var root = document.documentElement;
var root_style = getComputedStyle(root);
root.style.setProperty("--example_var", "100px", "important");
console.log("--var_teste: " + root_style.getPropertyValue("--example_var"));
:root {
--example_var: 50px;
}
.example_class {
padding: var(--example_var);
background-color: salmon;
}
<div class="example_class">Lorem Ipsum</div>

TA贡献1818条经验 获得超3个赞
您应该将其包装在文档中。我尝试设置测试间隔,您不需要刷新CSS。
document.addEventListener('DOMContentLoaded', function(){
var padding = 10;
setInterval(function(){
var root = document.documentElement;
var root_style = getComputedStyle(root);
root.style.setProperty("--example_var", (++padding) + "px", "important");
console.clear();
console.log("--var_teste: " + root_style.getPropertyValue("--example_var"));
//returns "100px"
}, 1000);
}, false);
:root {
--example_var : 50px;
}
.example_class {
padding: var(--example_var);
border: 1px solid red;
}
<div class="example_class">Lorem Ipsum</div>
添加回答
举报