【问题标题】:Exponentiation in SassSass 中的幂运算
【发布时间】:2012-03-04 04:29:19
【问题描述】:

在发现 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

【问题讨论】:

    标签: ruby sass exponent


    【解决方案1】:

    【讨论】:

    • 但是每个想要使用我的使用 pow() 的 mixin 的人都必须对 Sass 进行猴子补丁...
    猜你喜欢
    • 2011-09-18
    • 2014-08-21
    • 2011-10-29
    • 2017-02-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-29
    相关资源
    最近更新 更多