CSS变量继承自同一名称

时间:2018-06-14 16:02:10

标签: css css3 css-variables

我试图继承一个名为--border-radius的变量,该变量使用相同的名称:

--border-radius: 0 0 var(--border-radius) var(--border-radius);

有没有办法在不重命名变量的情况下执行此操作?

1 个答案:

答案 0 :(得分:1)

循环引用的CSS变量超出CSS的设计范围,并生成一个新的错误状态,我相信,“在计算值时间无效”,W3引用,https://www.w3.org/TR/css-variables-1/#invalid-at-computed-value-time

CSS必须能够在评估值时解析值,并且循环引用不允许CSS的预先存在的行为起作用。然后CSS回到属性的初始值。

由于它是在设计之外的CSS,如果唯一的方法是使用循环引用的工作将是javascript。但是,在你的情况下,你为什么不使用第二个变量?具有易于阅读的自上而下的格式,并保持根据需要更改值的能力。

--border-radius-value: 0;
--border-radius-values: 0 0 var(--border-radius-value) var(--border-radius-value);

下面的链接仅用于提供其他信息,该链接无意回答有关stackoverflow的问题,因为在某些时候它可能会变得无效,使问题无法解答,但可能有助于理解可能存在的所有错误状态使用CSS变量和预期的后退。

有关错误和后退的其他信息:来自CSS工作组的Lea在10:10时间记录并在youtube上发布的演讲中讨论了这些内容。 https://youtu.be/UQRSaG1hQ20?t=10m10s