与其尝试使用 calc()
进行转换,不如使用 min()
(documentation)
--new: min(--size,1);
这将返回变量或 1,以较低者为准,结果应为 1
/0
。
(这里假设 --size
不能是 0-1 之间的小数或负数)
,
使用min()
--new: min(var(--size)*var(--size)*1000,1)
如果 size = 0
则结果为 0
。如果大于 0
或小于 0
,乘以一个大值(和它本身),它将大于 1
并被限制为 1
.box {
--new: min(var(--size)*var(--size)*1000,1);
height:50px;
background:blue;
margin:5px;
border:calc(var(--new)*5px) solid red; /* either 5px here or 0 */
}
<div class="box" style="--size:2"></div>
<div class="box" style="--size:0"></div>
<div class="box" style="--size:200"></div>
<div class="box" style="--size:-200"></div>
<div class="box" style="--size:-.5"></div>
<div class="box" style="--size:.8"></div>
本文链接:https://www.f2er.com/265893.html