首页  >  文章  >  web前端  >  如何在 CSS 变量中存储继承值?

如何在 CSS 变量中存储继承值?

Susan Sarandon
Susan Sarandon原创
2024-11-21 02:32:10573浏览

How can I store an inherited value in a CSS variable?

继承 CSS 变量中的值

在 CSS 领域,自定义属性(也称为 CSS 变量)提供了巨大的灵活性和控制能力风格。当我们想要在变量中存储继承值时,就会出现一个常见问题。让我们深入研究解决方案。

挑战

考虑以下代码:

:root {
  --color:rgba(20,20,20,0.5);
}

.box {
  --color: inherit;
  background: var(--color);
}

在这里,我们的目标是让背景继承来自 :root 元素的颜色。但是,由于继承规则,使用继承作为 --color 的值不起作用。

解决方案:后备值和初始关键字

存储继承的值,我们可以利用 CSS 变量的后备值特性。我们可以设置:

background: var(--color, inherit);

这告诉浏览器如果未定义 --color 则使用继承。但是,由于 --color 始终在 :root 级别定义,因此它不会使用后备。

为了解决这个问题,我们可以使用初始关键字将 --color 重置为其初始值:

.box {
  --color: initial;
  background: var(--color, inherit);
}

使用初始有效地取消设置自定义属性,从而允许继承生效。此代码将成功从 :root 元素继承颜色。

以上是如何在 CSS 变量中存储继承值?的详细内容。更多信息请关注PHP中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn