为什么作用域 CSS 自定义属性无法覆盖继承值?
作用域 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中文网其他相关文章!
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn

热AI工具

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

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

Undress AI Tool
免费脱衣服图片

Clothoff.io
AI脱衣机

Video Face Swap
使用我们完全免费的人工智能换脸工具轻松在任何视频中换脸!

热门文章
刺客信条阴影:贝壳谜语解决方案
1 个月前
By DDD
Windows 11 KB5054979中的新功能以及如何解决更新问题
3 周前
By DDD
在哪里可以找到原子中的起重机控制钥匙卡
1 个月前
By DDD
如何修复KB5055523无法在Windows 11中安装?
2 周前
By DDD
Inzoi:如何申请学校和大学
3 周前
By DDD

热工具

记事本++7.3.1
好用且免费的代码编辑器

SublimeText3汉化版
中文版,非常好用

禅工作室 13.0.1
功能强大的PHP集成开发环境

Dreamweaver CS6
视觉化网页开发工具

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

关于Flex布局中紫色斜线区域的疑问在使用Flex布局时,你可能会遇到一些令人困惑的现象,比如在开发者工具(d...
