所以我在git上查看网站repo的基础,以便了解一些高级sass功能并跳过strip-unit-function。 基本上它以某种方式从给定的输入中剥离单位(px,em,rem)并输出值。
@function strip-unit($num) {
@return $num / ($num * 0 + 1);
}
但为什么这样呢?
(5px * 0 + 1)
返回1px而(5px * 1px)
返回5px * px,那么5px /(5px * 0 + 1)如何计算?这是某种黑客还是我不理解逻辑?
链接到完整的回购 https://github.com/zurb/foundation-sites/blob/6.2-stable/scss/util/_unit.scss
修改 我的问题不是如何做到,而是为什么它的工作原理。它只是一个错误或某种黑客,这遵循任何逻辑原则吗? 为什么通过划分工作剥离单位?
$number: 16px;
$without-unit: 16px / 1px;
@warn $without-unit; // 16