SCSS mixin添加百分比失败

时间:2016-07-06 11:26:29

标签: sass gulp-sass

我有一个SCSS mixin,其定义为linear-gradient

@mixin custom-background(
  $color: $color,
  $progress: 0
) {
  background: linear-gradient(to right, $color #{$progress}%, #9EC9DB 0);
  border: #10516C solid #9EC9DB;
}

但是在使用gulp-sass进行编译时会出现以下错误:

  

错误:&#34之后的CSS无效; ...#{$ progress}%":预期表达式(例如1px,粗体),是",$ progress - "           在file.scss第15行

     
    

nt(右,$ color#{$ progress}%,#9EC9DB 0);        ------------------------------------------ ^

  
     

messageOriginal:&#34之后的无效CSS; ...#{$ progress}%":预期表达式(例如1px,粗体),是",$ color"

1 个答案:

答案 0 :(得分:0)

插值用于不同目的,例如从字符串变量创建选择器。不转换值。要将数字转换为百分比,只需将其乘以100%

@mixin custom-background(
  $color: $color,
  $progress: 0
) {
  background: linear-gradient(to right, $color $progress * 100%, #9EC9DB 0);
  border: #10516C solid #9EC9DB;
}

您可能希望使用1%10000%代替(我不知道$progress输入范围)。

另外:到底是什么$color: $color?根据SASS范围规则,它没有任何意义。