作用域 CSS 自定义属性:覆盖继承值
使用 CSS 自定义属性时,定义它们的作用域会影响其行为。在这种情况下,作用域自定义属性用于根据外部作用域中定义的变量来缩放大小。然而,并没有达到预期的效果,因为所有三个列表都以相同的比例显示。
理解范围问题
用 -- 定义的自定义属性不是嵌套在其他规则中的规则被视为全局范围的,并影响文档中的所有元素。但是,当在嵌套规则中定义自定义属性时,它的作用域将限于该规则及其后代。这意味着该规则之外的任何元素都不会继承自定义属性的值。
重置自定义属性
在提供的代码中,根元素定义 - -scale 自定义属性并根据它计算 --size-* 值。随后,子元素定义自己的 --scale 自定义属性。这会导致子元素覆盖从根元素继承的 --scale 值。
要解决此问题,需要将子元素中的 --scale 自定义属性重置为新值,该值将在用于计算。通过这样做,自定义属性的范围有效地限定为子元素及其后代。
更新的代码
以下是包含修复的代码的更新版本:
:root { --size-1: calc(1 * var(--scale, 1) * 1rem); --size-2: calc(2 * var(--scale, 1) * 1rem); --size-3: calc(3 * var(--scale, 1) * 1rem); } .size-1 { font-size: var(--size-1) } .size-2 { font-size: var(--size-2) } .size-3 { font-size: var(--size-3) } .scale-1x { --scale: 1 } .scale-2x { --scale: 2 } .scale-3x { --scale: 3 } html { font: 1em sans-serif; background: papayawhip; } ol { float: left; list-style: none; margin: 1rem; }
以上是为什么作用域 CSS 自定义属性无法覆盖继承值?的详细内容。更多信息请关注PHP中文网其他相关文章!

当他们在2013年去Chrome时,我们失去了歌剧。与Edge今年早些时候也进行了同样的交易。迈克·泰勒(Mike Taylor)称这些变化为“减少

在本周的综述中,Apple进入Web组件,Instagram如何插入脚本以及一些思考的食物,以进行自托管关键资源。


热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

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

热门文章

热工具

SublimeText3 Mac版
神级代码编辑软件(SublimeText3)

PhpStorm Mac 版本
最新(2018.2.1 )专业的PHP集成开发工具

安全考试浏览器
Safe Exam Browser是一个安全的浏览器环境,用于安全地进行在线考试。该软件将任何计算机变成一个安全的工作站。它控制对任何实用工具的访问,并防止学生使用未经授权的资源。

SublimeText3 Linux新版
SublimeText3 Linux最新版

MinGW - 适用于 Windows 的极简 GNU
这个项目正在迁移到osdn.net/projects/mingw的过程中,你可以继续在那里关注我们。MinGW:GNU编译器集合(GCC)的本地Windows移植版本,可自由分发的导入库和用于构建本地Windows应用程序的头文件;包括对MSVC运行时的扩展,以支持C99功能。MinGW的所有软件都可以在64位Windows平台上运行。