2012-03-03 52 views
1

在發現Sass沒有指數能力之後,我決定創建自己的pow()函數。這是我不成功的嘗試:Sass中的求冪

@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

回答