如何在 CSS 变量(又名自定义属性)内存储继承值?
场景
考虑以下 CSS 代码:
:root { --color: rgba(20, 20, 20, 0.5); } .box { width: 50px; height: 50px; display: inline-block; margin-right: 30px; border-radius: 50%; position: relative; } .red { background: rgba(255, 0, 0, 0.5); } .blue { background: rgba(0, 255, 0, 0.5); } .box:before { content: ""; position: absolute; top: 0; left: 0; right: 0; bottom: 0; border-radius: 50%; transform: translateX(30px); background: var(--color); filter: invert(1); }
在这段代码中,我们使用 --color 来控制 .box 元素的背景伪元素。然而,我们可能会遇到这样的情况,我们希望从父 .box 元素继承颜色。
CSS 变量继承挑战
在 CSS 中,不支持使用继承关键字作为值CSS 变量。这意味着我们无法直接设置 --color 继承来达到我们想要的效果。
解决方案:使用后备值和初始值
为了克服这个限制,我们可以采用两种技术:
1。使用后备值:
通过利用 CSS 变量中的后备值,我们可以告诉属性在未明确定义 --color 的情况下使用继承。
background: var(--color, inherit);
但是,在这种情况下,因为 --color 始终在根级别定义并继承,所以永远不会使用后备值。
2.使用初始值:
我们可以使用初始值来“取消定义”--color 并强制使用后备值。根据CSS规范,初始值是一个空值,它与var()有一个特殊的交互。
.box:before { ... background: var(--color, inherit); ... } .box { ... --color: initial; }
通过这个修改,我们可以在CSS变量中实现继承值继承,使我们能够根据父元素的颜色来控制背景颜色。
<div class="box red"></div>
以上是如何用CSS变量实现继承值?的详细内容。更多信息请关注PHP中文网其他相关文章!

Goofonts是由开发人员和设计师丈夫签名的附带项目,它们都是版式的忠实拥护者。我们一直在标记Google

学习如何构建GraphQL API可能具有挑战性。但是您可以学习如何在10分钟内使用GraphQL API!碰巧的是,我得到了完美的

这里是Yuanchuan的一些合法CSS骗局。有此CSS属性偏移路径。曾几何时,它被称为Motion-Path,然后被更名。我


热AI工具

Undresser.AI Undress
人工智能驱动的应用程序,用于创建逼真的裸体照片

AI Clothes Remover
用于从照片中去除衣服的在线人工智能工具。

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

AI Hentai Generator
免费生成ai无尽的。

热门文章

热工具

SublimeText3 Linux新版
SublimeText3 Linux最新版

mPDF
mPDF是一个PHP库,可以从UTF-8编码的HTML生成PDF文件。原作者Ian Back编写mPDF以从他的网站上“即时”输出PDF文件,并处理不同的语言。与原始脚本如HTML2FPDF相比,它的速度较慢,并且在使用Unicode字体时生成的文件较大,但支持CSS样式等,并进行了大量增强。支持几乎所有语言,包括RTL(阿拉伯语和希伯来语)和CJK(中日韩)。支持嵌套的块级元素(如P、DIV),

Atom编辑器mac版下载
最流行的的开源编辑器

DVWA
Damn Vulnerable Web App (DVWA) 是一个PHP/MySQL的Web应用程序,非常容易受到攻击。它的主要目标是成为安全专业人员在合法环境中测试自己的技能和工具的辅助工具,帮助Web开发人员更好地理解保护Web应用程序的过程,并帮助教师/学生在课堂环境中教授/学习Web应用程序安全。DVWA的目标是通过简单直接的界面练习一些最常见的Web漏洞,难度各不相同。请注意,该软件中

VSCode Windows 64位 下载
微软推出的免费、功能强大的一款IDE编辑器