Sass 如何用算术表达式乘以百分比

Sass 如何用算术表达式乘以百分比,sass,Sass,我正在基于SASS编程一个12列的网格。我使用@对值进行迭代,将它们分配给“col-”。宽度取决于数字。问题是,当我用一个算术表达式(12迭代器)乘以排水沟(3%)时,会出现以下消息: 错误:未定义的操作:“3%乘以12-1” 我已经尝试给12迭代器赋值,并且缩进-符号,因为我知道sass有时会将其与负数混淆 $columns: 12; $grid-gutter: 3%; @for $j from 1 to $columns { .col-#{$j}{ width: (100

我正在基于SASS编程一个12列的网格。我使用@对值进行迭代,将它们分配给“col-”。宽度取决于数字。问题是,当我用一个算术表达式(12迭代器)乘以排水沟(3%)时,会出现以下消息:

错误:未定义的操作:“3%乘以12-1”

我已经尝试给12迭代器赋值,并且缩进-符号,因为我知道sass有时会将其与负数混淆

$columns: 12;
$grid-gutter: 3%;
@for $j from 1 to $columns {
    .col-#{$j}{
      width: (100% / (12/#{$j})) - ($grid-gutter*(12 - #{$j}) / 12 );
        }
 }
对于j=1,我希望是:

width:(100% / 12) - ($grid-gutter * 11 / 12);
在计算中使用变量时,还需要使用,否则将返回错误。在您的例子中,您还忘记了插值
$grid-ground

width: calc((100% / (12 / #{$j})) - (#{$grid-gutter}  * (12 - #{$j}) / 12 ));
也就是说,在这种情况下,实际上不需要
calc()
或插值,只需使用变量即可:

width: (100% / (12 / $j)) - ($grid-gutter * (12 - $j) / 12);
这将汇编为:

.col-1 { width: 5.5833333333%; }
.col-2 { width: 14.1666666667%; }
.col-3 { width: 22.75%; }
...