【发布时间】:2021-03-17 04:28:41
【问题描述】:
我用 bug 之类的例子创建了 pen: https://codepen.io/dimakrutoo/pen/PoGZymb
如果我们将变量的值--layoutWMin 从“0px”更改为“0”,那么计算就会中断
谁能解释一下为什么clamp() 函数在没有单位的零值下不起作用?
这里有一些更说明性的例子: https://codepen.io/dimakrutoo/pen/RwGarWY
【问题讨论】:
我用 bug 之类的例子创建了 pen: https://codepen.io/dimakrutoo/pen/PoGZymb
如果我们将变量的值--layoutWMin 从“0px”更改为“0”,那么计算就会中断
谁能解释一下为什么clamp() 函数在没有单位的零值下不起作用?
这里有一些更说明性的例子: https://codepen.io/dimakrutoo/pen/RwGarWY
【问题讨论】:
这不是一个完整的答案,但我在 cmets 中用完了字符。
我无法解释,只是要注意,clamp 解析为max(MIN, min(VAL, MAX)),参见https://developer.mozilla.org/en-US/docs/Web/CSS/clamp(),当第一个参数为 0 且第二个参数有单位时,max 和 min 表现出相同的行为。
关于 SO 有几个问题,有大量接受和赞成的答案现在看来是不正确的,因为他们坚定地声明 0 和比如说 0px 是相同的(据我所见,规范也是如此)。
这可能是一个错误,也可能是一个功能,但了解这一点很重要。感谢您强调它。
【讨论】:
var(--p)*1px [其中--p:0]。相关:stackoverflow.com/q/57666183/8620333