用于计算父作用域中的变量时,CSS作用域自定义属性无法识别

文章编号:5818 技术教程 2023-11-03

扫码关注官方订阅号

用于计算父作用域中的时CSS作用域自定

我正在尝试通过var自定义属性来缩放大小,以便类可以在不耦合的情况下组合。期望的效果是3个列表将具有3个不同的比例,但正如CodePen上所示,所有3个列表的比例相同。我正在寻找范围界定和CSS自定义属性技术的解释,该技术可以通过可组合的松散耦合代码来实现此目的。

在您的情况下,您已在根级别评估了--scale自定义属性来定义--size-*属性,然后定义了--scale再次在子元素内。这不会再次触发评估,因为它已经在上层中完成。

下面是一个简单的例子来说明这个问题:

.scale{--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:1emsans-serif;background:papayawhip;}ol{float:left;list-style:none;margin:1rem;}

在本例中,--scale的定义级别与其评估相同,因此将为每种情况正确定义--size-*。

在第一种情况下,您会陷入3,因为在根级别没有为--scale指定值。在最后一种情况下,我们陷入了2,因为我们在同一级别定义了--scale并且我们有它的值。

在所有情况下,我们都应该避免在:root级别进行任何评估,因为它根本没有用。根级别是DOM中的最上层,因此所有元素都将继承相同的值,除非我们再次评估变量,否则DOM内不可能有不同的值。

您的代码相当于此代码:

:root{--size-1:calc(1*1*1rem);--size-2:calc(2*1*1rem);--size-3:calc(3*1*1rem);}


我们再举一个例子:

直观上,我们可能认为可以通过更改:root级别定义的3个变量之一来更改--color,但我们不能执行此操作以及上述操作代码与此相同:

3个变量(--r、--g、--b)在:root内求值code>因此我们已经用它们的值替换了它们。

在这种情况下,我们有3种可能性:

考虑到这一点,我们应该始终将评估保持在DOM树中尽可能最低的点,尤其是在变量更改之后(或在同一级别)

这是我们不应该做的事情

这是我们应该做的

我们还可以这样做:

微信扫码关注PHP中文网服务号

QQ扫码加入技术交流群

Copyright2014-2023AllRightsReserved|苏州跃动光标网络科技有限公司|


本文地址: /article/c62f13268d38c9829583.html
全局中部横幅
全局中部横幅
新疆博联经济发展规划研究院

新疆博联经济发展规划研究院下设6个研究所,主要服务项目包括:区域经济发展战略规划、区域经济(产业)专项规划、区域循环经济发展规划、区域旅游产业发展规划、现代农业产业发展规划、工业园区产业发展规划、物流园区产业发展规划、煤化工产业发展规划、重大项目可行性研究报告、大中型企业文化建设研究等。

魂斗罗:归来下载2024安卓最新版_手机官方版免费安装下载_豌豆荚

【豌豆荚】为你提供魂斗罗:归来APP安卓版下载,历史版本、旧版下载,查看2024最新魂斗罗:归来手机版介绍、应用截图、网友评论,方便快捷的将安卓版魂斗罗:归来应用免费下载到手机。

健康开心果,全民开心GO!_食界大咖秀_主题站_豆果美食

在全民健身日(2020年8月8日)当天,“美国开心果是完全蛋白”云上媒体发布会成功举办。为契合“全民健身日”的主题日,美国开心果将它作为“美国开心果8月8日悦跑...

医药之梯_诗迈人才_专业医药人才招聘网

医药之梯是最大的专业医药人才求职招聘与职业发展首选平台,集聚了全球医药、器械、生物化工、医院医美、药店等名企,为HR、大学生、博士、护士医生、研发临床、生产设备、销售电商等提供最新招聘、测评、就业、找工作、医药猎头、医生猎头、招聘会等的平台。

智科信地产_山西临汾侯马+房地产开发/金域蓝湾/晋瑞驿都,侯马房地产,侯马,侯马世纪广场,侯马优质房源,金域蓝湾,侯马金域蓝湾

山西临汾侯马+山西智科信房产地产有限公司+房地产开发+金域蓝湾+金域小区+晋瑞驿都,智科信地产_山西临汾侯马+房地产开发/金域蓝湾/晋瑞驿都,侯马房地产,侯马,侯马世纪广场,侯马优质房源,金域蓝湾,侯马金域蓝湾

招生代理网-代理招生信息发布平台-好课多多培训网

好课多多培训网是专业的教育培训门户网站,提供线上代理招生,招生代理合作等业务,好课多多网络代理招生平台为学员提供英语培训、会计培训、出国留学培训、职业技能培训等众多培训课程介绍、价格费用和机构咨询

烟囱维修,烟囱拆除,冷却塔防腐,钢结构防腐,烟囱安装,炉架防腐,厂房防腐-浩久高空建筑防腐集团山东公司

浩久高空建筑防腐集团山东公司专业烟囱维修,烟囱拆除,冷却塔防腐,钢结构防腐,烟囱安装,烟囱加固,炉架防腐,厂房防腐,高空防腐,烟囱加高,烟囱新建,烟囱改造,烟囱翻新施工能力【咨询15951555738】。欢迎光临

单梁起重机_电动单梁起重机_单梁起重机厂家-河南省聚力德机电设备有限公司

河南省聚力德机电设备有限公司拥有多年行业经验生产商,主营电动单梁起重机,双梁桥式起重机,花架龙门起重机,导轨式货梯,钢丝绳电动葫芦,单双梁起重机零配件等产品,开拓起重设备市场,为客户提供起重解决方案。

云学学艺培训-汇聚优质培训机构和课程,开启成功之旅

云学学艺培训,连接未来,点亮梦想。我们携手各类专业培训机构,为您精心挑选高品质课程,覆盖IT、英语、小语种、职业资格、技能提升等多个领域。云学学艺培训致力于为您提供更便捷、更高效的培训平台,让您的成长之路更加宽广。

内蒙古谐宁商贸有限公司-内蒙古办公消耗用品_呼和浩特日用百货_呼市五金机电产品-呼和浩特政采供应商_日用百货_五金机电产品

内蒙古谐宁商贸有限公司成立于2021-02-02,注册资本为100万元人民币,统一社会信用代码为91150105MA13U22E8F,企业地址位于内蒙古自治区呼和浩特市赛罕区惠民街金宇星城小区2号楼一单元1801,所属行业为零售业,经营范围包含:一般项目:日用品销售;会议及展览服务;数字内容制作服务(不含出版发行);数字文化创意技术装备销售;专业设计服务;数字创意产品展览展示服务。

域名注册_域名查询_域名购买_域名申请_新网

新网域名是中国入选全球TOP15的域名注册服务商,.com域名注册位居行业之首.包括中文域名、英文域名及顶级域名注册,域名查询,域名申请,域名购买及域名解析等服务

全局底部横幅