从 JS 更改 css 变量的值会导致奇怪的行为

Posted

技术标签:

【中文标题】从 JS 更改 css 变量的值会导致奇怪的行为【英文标题】:Changing the value of a css variable from JS causes strange behavior 【发布时间】:2021-11-13 12:57:27 【问题描述】:
:root
    --name: "*";


.test::before
    font-size: 13px;
    Content: var(--name);

document.documentElement.style.setProperty("--name", "test");

我想像在这个 JS 中一样操作上面的 css 变量,但是当我运行这个 JS 时,“*”就消失了,“test”没有反映。你知道原因吗?

(由DeepL翻译)

【问题讨论】:

【参考方案1】:

您需要执行以下操作。请注意我添加的额外引号:

document.documentElement.style.setProperty("--name", "'test'");
:root
    --name: "*";


.test::before
    font-size: 13px;
    Content: var(--name);
<div class="test"></div>

【讨论】:

谢谢!另外,顺便问一下,我如何指定一个变量? document.documentElement.style.setProperty("--name", a); @さかな 像这样:jsfiddle.net/ds5mqy7b?

以上是关于从 JS 更改 css 变量的值会导致奇怪的行为的主要内容,如果未能解决你的问题,请参考以下文章

奇怪的全局变量行为,一旦更改变量名,问题就会消失

当我绑定它的值时,SwiftUI TextField 的行为很奇怪(不能输入中文,偶尔退格会跳过一个字符)

熊猫:按组计算唯一的日期时间值会给出奇怪的值

更改文本时 UILabel 中等宽字体的奇怪行为

从 UITableView 中删除值会导致崩溃

用[(NgModel)]更改绑定的Angular表中的值会影响其他字段