gpt4 book ai didi

javascript - 通过JS更新变量值后CSS伪类消失

转载 作者:行者123 更新时间:2023-11-30 11:04:50 26 4
gpt4 key购买 nike

我希望能够通过 JS 更新 CSS 变量,但是当我更新变量时,CSS 伪元素被销毁(即消失)。

这是 SCSS 代码:

:root {
--test-thing: "";
}

.folder-1-open span::after {
width: 90%;
height: 85%;
bottom: 0;
left: 5%;
background-color: #fff;
z-index: 3;
content: var(--test-thing);
}

我正在尝试这样操作变量:

const root = document.documentElement
root.style.setProperty('--test-thing', "Hello World")

上面的 CSS 在它所应用的元素(标签)上运行得非常好,基本上只是一个白色方 block ,但是一旦我尝试更新 CSS 变量 --test-thing通过 content Prop 添加一个字符串,整个事情就消失了。

用伪元素或类做这件事是不可能的吗?

通过研究 SO 上的相关帖子,我的理解是这可以使用 CSS 变量实现。

对于上下文,I’m working off this example纯 CSS 交互文件夹(当它打开时我想动态更新内容)。

最佳答案

好吧,我大概明白了为什么会这样。仍然不能 100% 确定原因,但这与新值不在引号中这一事实有关。只需将值放在引号中即可正常工作。

const root = document.documentElement
root.style.setProperty('--test', "'Hello World'") // <-- this needs to be in quotes
:root {
--test: "";
}

#test {
height: 100px;
width: 100px;
background: #ccc;
}
#test:after {
content: var(--test);
min-width: 100px;
background: #000;
min-height: 30px;
color: #fff;
}
<div id="test">

</div>

关于javascript - 通过JS更新变量值后CSS伪类消失,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56071265/

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