css - 如何交换两个 CSS 变量的值?

标签 css css-variables

<分区>

假设我有两个 css 变量,control-colorcontrol-color-inverse .我想做一个<div>所有颜色都反转的地方。但这似乎不能正常工作:

* {
  background-color: var(--control-color);
  color: var(--control-color-inverse);
}

:root {
  --control-color: gainsboro;
  --control-color-inverse: black;
}

#child {
  --control-color: var(--control-color-inverse);
  --control-color-inverse: var(--control-color);
}
<div id="parent">
  <p>not themed</p>
  <div id="child">
    <div id="grandchild">
      <p>themed</p>
    </div>
  </div>
</div>

例如,在此代码段中,div#child应该有黑色背景和灰色文本。但似乎我最终得到了一个循环引用并且它被取消了。我怎样才能完成我想做的事情?

最佳答案

我认为你可以做到这一点

#child {
  background-color: var(--control-color-inverse);
  color: var(--control-color);
}

或者你可以使用其他变量名

#child {
  --child-control-color: var(--control-color-inverse);
  --child-control-color-inverse: var(--control-color);
}

关于css - 如何交换两个 CSS 变量的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55603602/

上一篇:html - border-color 和 box-shadow 颜色在我更改 css 代码后不会改变

下一篇:css - 如何制作具有可变大小图像且每行末尾没有白色间隙的包装网格

相关文章:

css - 无法对 <b> 应用填充

javascript - WordPress 新闻如事件 slider

jquery - 如何让标题上滑时图片也上滑?

css网格计算变量的分数

javascript - CSS 计算中的数学是否比 JS 中的数学更快?

CSS 3 奇怪的动画延迟

javascript - Bootstrap 导航栏折叠按钮不起作用

javascript - 如何使用 CSS 自定义属性和变换将 4 个子元素每 3 秒旋转 90 度?

css - 许多 CSS 变量对性能的影响

css - 通过SASS函数自动生成css变量