SCSS 插值无法为宽度分配百分比

Tax*_*ion 6 sass gulp-sass

我正在生成几个列类,其宽度在 Sass 地图中定义,如下所示:

$column-widths: 5 10 20 25 30 33 40 50 60 66 70 80 90 100;

@each $width in $column-widths {
  .column-#{$width} {
    width: #{$width}%;
  }
}
Run Code Online (Sandbox Code Playgroud)

但是,我在编译时收到此错误:

Error in plugin 'sass'
Message:
    grid.scss
Error: Invalid CSS after "...dth: #{$width}%": expected expression (e.g. 1px, bold), was ";"
        on line 10 of grid.scss
>>       width: #{$width}%;
   ----------------------^
Run Code Online (Sandbox Code Playgroud)

看起来它没有按照我预期的方式解释这一点。我想在百分号之前插入数值。但我认为它将它们作为字符串读取,然后尝试评估百分比并感到困惑。

Tax*_*ion 11

想出了正确的方法来做到这一点。我应该使用 Sass 中的百分比函数而不是插值。

$column-widths: 5 10 20 25 30 33 40 50 60 66 70 80 90 100;

@each $width in $column-widths {
  .column-#{$width} {
    width: percentage($width / 100);
  }
}
Run Code Online (Sandbox Code Playgroud)