1

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.

4

1 に答える 1

2

powSass で書く代わりにRuby を使用http://sass-lang.com/docs/yardoc/Sass/Script/Functions.html

于 2012-03-03T20:29:19.107 に答える