在发现Sass没有指数能力之后,我决定制作自己的pow()函数。这是我不成功的尝试:
@function pow($x,$p) {
$u: unit($x);
$x: $x / 1#{$u};
$p: round($p);
@if $p == 0 {
@return 0;
} @else if $p == 1 {
@return $x;
} @else {
@for $i from 1 through abs($p) {
$x: $x * $x;
}
}
@if $p < 0 {
$x: 1 / $x;
}
@return $x + $u;
}
我坚持的部分是剥离单位。我知道12px / 1px = 12
,但在我的情况下,单位是未知的,12px / 1#{unit(12px)}
不起作用,因为它等于"12px/1px"
(是的,带引号)。 unquote
函数似乎对我不起作用,我不知道为什么。
如果您想知道,我想剥离单位(并最终将其返回)的原因是因为12px * 12px = 144px*px
。