Экспонирование в Сассе - PullRequest
1 голос
/ 04 марта 2012

Обнаружив, что у 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.

1 Ответ

1 голос
/ 04 марта 2012

Вместо записи pow в Sass используйте Ruby http://sass -lang.com / docs / yardoc / Sass / Script / Functions.html

...