【发布时间】:2020-11-18 12:15:56
【问题描述】:
是否可以用全局变量覆盖局部 CSS 变量?
正如我们所知,反之亦然。如果有像!important 这样的东西来覆盖局部变量,有人可以帮忙吗?
以下面的示例为例,希望red 的优先级高于blue。
:root{
--primarycolor: red !important; /*Like this*/
}
body {
color: var(--primarycolor);
border:2px solid var(--primarycolor);
padding:5px;
}
div{
--primarycolor: blue; /*Want to override this*/
color: var(--primarycolor);
border:2px solid var(--primarycolor);
padding:5px;
}
Check all border color - I am in body
<div>I am in div</div>
【问题讨论】:
-
据我所知,CSS 中没有这样的功能。相反,您可以做的是使用备用值
var(--primary-color, blue);。见developer.mozilla.org/en-US/docs/Web/CSS/… -
那么不要定义局部变量
-
@TemaniAfif 实际上我用 JS 动态更新了全局变量。谢谢,我没有提到。
标签: html css css-variables