在Chrome浏览器中,CSS属性不能使用除像素以外的单位
当我在CSS中尝试创建一个
@property --my-width {
syntax: "<length>";
inherits: true;
initial-value: 2em;
}
Firefox看起来没问题,摘要文档也说可以,但Chrome说“不行!”。
我的语法正确吗?
我正在尝试让滚动条的宽度进行过渡(这步是可行的),但如果不使用像素就卡住了。
解决方案
你可以使用除像素以外的单位,但你不能使用 em,因为它们并非计算独立(computationally independent);没有一个单一的值可以在该属性的任何地方应用。
请参阅例如MDN的说明(以下为我强调的部分):
如果
syntax描述符的值不是通用语法定义,那么initial-value描述符必须是一个 computationally independent 值。这意味着该值在转换为计算值时不依赖于其他值,除了与CSS全局无关的定义。举例来说,10px是计算独立的——它在转换为计算值时不会改变。2in也是有效的,因为1in总是等价于96px。然而,3em不成立,因为em的值依赖于父级的font-size。
(The "universal syntax definition" 是 syntax: "*"。)
站内所有文章版权归属LeftHeroAI导航站,无授权禁止任何主体转载、抄袭、复制内容,亦不得私自架设镜像站点。一经侵权,本站将通过法律途径追责。
