当将无单位的数字转换为长度、持续时间、角度或其他值时,人们倾向于简单地将单位作为字符串附加,如下所示
$value: 42;
$length: $value + px;
// 42px
虽然这种方法有效,但它远非理想,因为它会导致隐式将初始值转换为字符串。事实上,如果你尝试从现在开始对 $length
值进行数学运算,你会发现 Sass 会很快抛出错误,因为它无法对字符串进行数学运算符。
为了解决这个问题,有两种正确的方法
$value: 42;
$length: $value + 0px;
// 42px
$value: 42;
$length: $value * 1px;
// 42px
任何一种方法都会正确地生成预期中的数字,而不是字符串。
我使用最后一种方法,它工作正常。
乘法对于计算机来说比加法更复杂的操作。因此始终使用第一个。
同意
它并不复杂。加法是线性的,而乘法与加法没有太大区别。对于如此小的数字来说,它只是一个循环,所以这真的无关紧要。
$value:1px;
$value:2px;
$value3:$value1+$value2; // 1px2px
这不是你所期望的吗?
这超出了范围,因为他们试图将数字与其单位相加!