当我尝试使用字体速记属性的font-size和line-height部分的变量时,Sass执行除法而不是用斜杠分隔两个值。
@mixin test($fontsize, $lineheight) { font: $fontsize/$lineheight sans-serif; }
#my-font { @include test(14px, 20px); }
当前输出:
#my-font { font: 0.7 sans-serif; }
我如何告诉Sass停止分裂?
当我尝试使用字体速记属性的font-size和line-height部分的变量时,Sass执行除法而不是用斜杠分隔两个值。
@mixin test($fontsize, $lineheight) { font: $fontsize/$lineheight sans-serif; }
#my-font { @include test(14px, 20px); }
当前输出:
#my-font { font: 0.7 sans-serif; }
我如何告诉Sass停止分裂?
使用#{}
插值符号将变量视为字符串。由于Sass不能对字符串执行算术运算,因此/
将其视为文字斜杠而不是除法运算符:
@mixin test($fontsize, $lineheight) {
font: #{$fontsize}/#{$lineheight} sans-serif;
}
BoltClock的答案在大多数情况下都有效,但是,如果变量
$fontsize
是一个函数,例如$fontsize: rem-calc(10px)
,它将输出为字符串。一种更防弹的方法是插入斜线: