Html 为什么显示属性设置为使用CSS变量继承不';不行?
我在中将divs的display属性设置为Html 为什么显示属性设置为使用CSS变量继承不';不行?,html,css,css-variables,Html,Css,Css Variables,我在中将divs的display属性设置为 行块。然后我创建了四个类: 无变量,该变量将显示设置为继承 var,它将display设置为变量集inherit var none,将display设置为变量集none var default,它将display设置为变量集INERITE,并将默认值设置为grid 但是,每个类使用的实际样式似乎并不正确: no-var类正确地将display继承到块 var类不会从变量中获取继承值,并显示为内联块 var none类正确地将display设置为n
行块
。然后我创建了四个类:
- 无变量,该变量将显示设置为继承
- var,它将display设置为变量集
inherit
- var none,将display设置为变量集
none
- var default,它将display设置为变量集
,并将默认值设置为INERITE
grid
- no-var类正确地将display继承到
块
- var类不会从变量中获取
值,并显示为继承
内联块
- var none类正确地将display设置为
,并且是隐藏的none
- var default类不会从变量中获取
值,并将display设置为默认值inherit
:根目录{
--显示:继承;
--显示无:无;
--颜色:红色;
}
div{
显示:内联块;
颜色:绿色;
}
.无风险{
显示:继承;
颜色:红色;
}
.var{
显示:var(--显示);
颜色:var(--颜色);
}
.var无{
显示:var(--显示无);
}
.var违约{
显示:var(--显示,网格);
颜色:var(--颜色,紫色);
}
无变量
无变量
变量
变量
没有一个
没有一个
违约
违约
在这种情况下,inherit
用作自定义属性的值,并且不会使用var()将其求值为inherit
值
下面是一个基本的例子来理解这个问题:
.box{
--c:继承;
颜色:var(--c,红色);
}
我是一个文本
我是一个文本
这很有意思,这样解释也很有道理,谢谢@GammaGames如果您需要一种在CSS变量中使用继承值的方法,您可以检查这一点,就像不声明--c:inherit代码>在样式表中开始。可能重复@chharvey,您也要关闭这个:)它在本例中的相关性如何?。OP希望了解原因并给出解释,他不想将inherit存储在CSS中variable@TemaniAfif我认为这个问题是重复的。这只是我的意见,仅此而已。如果OP能够区分它是如何不是一个复制品,那么事情就清楚了。(顺便说一句,他/她绝对希望将inherit
存储在一个变量中-该代码实际上包含行--display:inherit;
)@chharvey我同意TemaniAfif。我不是想办法让它工作,我只是想弄明白为什么它不能按我想象的方式工作。我认为这个问题也能更好地解释为什么它是这样工作的。