CSS 变量继承自同名

CSS variable inherit from same name

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

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

有没有不重命名变量的方法?

循环引用的 CSS 变量超出了 CSS 的设计范围,并且会生成一个新的错误状态,我相信,"Invalid at computed value time," 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);
下面的

Link 仅供参考,link 并非旨在回答关于 Whosebug 的问题,因为在某些时候它可能会变得无效而无法回答问题,但可能有助于理解 CSS 变量可能存在的所有错误状态以及预期的回退。

有关错误和回退的更多信息:来自 CSS 工作组的 Lea 在 10:10 时间标记录制并发布在 youtube 上的谈话中讨论了这些问题。 https://youtu.be/UQRSaG1hQ20?t=10m10s