如何使用calc()重新计算子元素中的css变量(自定义属性)的新值,以修改从父元素继承的值?

这不起作用:

div {
  height: var(--foo);
  border: 1px solid #f00;
}

.a {
  --foo: 100px;
}

.b {
  --foo: calc(var(--foo) - 25px);
}
<div class=a>
  <div class=b>
    foo box
  </div>
</div>

浏览器似乎完全取消了.b--foo的值.

calc()表达式中使用关键字inherit也不起作用.

推荐答案

正如其他 comments 者指出的那样,这目前是不可能的.然而,一旦被浏览器支持,CSSWG recently voted to add inherit as a function to the CSS Values spec,将使这一点成为可能.

Css相关问答推荐

当optgroup元素不包含任何未使用CSS禁用的选项元素时,如何隐藏它

无法瞄准元素

CSS立方体覆盖

在COLOR-MIX()中使用var()似乎会使其对于不支持COLOR-MIX()的浏览器具有可读性,从而阻止了回退的工作

排除特定元素的目标元素

当页面大小小于VH时,Tailwind CSS如何使页脚留在底部

整个列的 CSS Grid Margin Top

为什么过渡属性不适用于 box-shadow?

如何在 Angular 中使用 CSS 设置 FontAwesome 图标的大小?

在 CSS 中如何使用 100% 和最大内容之间的最大值

CSS Stepper - LI After Overlaying LI Before

CSS3 - RotateY() 居中

具有自动调整大小的自动填充行的 CSS 网格

控制表格单元格之间的间距

在 RC.1 中,某些样式无法使用绑定语法添加

BEM 块、命名和嵌套

在 IE9-10 中压缩 SVG 的背景大小

如何在不使用浮动的情况下垂直对齐 div?

CSS Select /样式第一个词

通过 Bootstrap4 对列进行排序