【问题标题】:Setting Style properties via JS通过 JS 设置 Style 属性
【发布时间】:2023-01-20 16:44:34
【问题描述】:

我正在通过 CSS 设置一些属性,如下所示:

:root {--foo: #4c3552;}

我想知道我是否可以通过 JS 做同样的事情。我努力了:

getComputedStyle(document.body).setProperty("--foo", "#4c3552")

但是当通过样式表应用变量作为背景颜色时,html 不会更新,因为我的 HTML 是 <div id="bar"> 并且链接到 html 的 CSS 文件具有如下设置:#bar {background-color: var(--foo);}

【问题讨论】:

  • getComputedStyle(document.body) 返回一个值,而不是对元素的引用。要获取元素,请尝试 document.querySelector("#bar").style.setProperty
  • @DeeGee Kinda nope。

标签: javascript html css


【解决方案1】:

setProperty 继续 Element 的style。
阅读更多:CSSStyleDeclaration setProperty

document.body.style.setProperty("--foo", "red")
:root {
  --foo: blue;
}

#bar {
  background-color: var(--foo);
}
<div id="bar">TEST</div>

【讨论】:

    猜你喜欢
    • 2015-09-17
    • 2023-03-13
    • 1970-01-01
    • 2017-02-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多