使用attr()更新CSS变量

使用attr()更新CSS变量,css,css-variables,Css,Css Variables,为什么这是有效的,并产生了:之前,它说改变了 :根{ -namevar:回退; } .在[姓名]{ -名称变量:已更改; } .在dd中:类型的第一个:之前{ 字体大小:粗体; 显示:块; 内容:var-namevar; } 但是如果你把它改成这个,那么:before就丢失了 .在[姓名]{ -namevar:attrname; } 这两种方法都不起作用: .在dd中:类型的第一个:之前{ 内容:attrname,继承; } .在[姓名]dd中{ 姓名:继承; } HTML将类似于: 一 二 三

为什么这是有效的,并产生了:之前,它说改变了

:根{ -namevar:回退; } .在[姓名]{ -名称变量:已更改; } .在dd中:类型的第一个:之前{ 字体大小:粗体; 显示:块; 内容:var-namevar; } 但是如果你把它改成这个,那么:before就丢失了

.在[姓名]{ -namevar:attrname; } 这两种方法都不起作用:

.在dd中:类型的第一个:之前{ 内容:attrname,继承; } .在[姓名]dd中{ 姓名:继承; } HTML将类似于:

一 二 三
我在这里遗漏了什么?

这是因为css变量检测最近的父变量。 您可以使用全局选择器覆盖*

只是在css中使用

*{
    --namevar: "fallback";
}

试试看。如果有更多的帮助。请随意问我。

使用-namevar:attrname;工作正常,但你需要了解它是如何工作的

例如:

:根{ -namevar:回退; } .在dd中:之前{ 字体大小:粗体; 内容:var-namevar; } .在[姓名]{ -namevar:attrname; } 一 二 三 它工作得很好:你没有在那里使用。我将添加一个HTML示例。