当我尝试将变量用于字体速记属性的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停止分裂?
答案 0 :(得分:34)
使用#{}
interpolation表示法将变量视为字符串。由于Sass无法对字符串执行算术运算,因此将/
视为文字斜杠而不是除法运算符:
@mixin test($fontsize, $lineheight) {
font: #{$fontsize}/#{$lineheight} sans-serif;
}
答案 1 :(得分:2)
BoltClock的答案在大多数情况下都有效,但如果变量$fontsize
是一个函数,例如$fontsize: rem-calc(10px)
,它将以字符串形式输出。
更加防弹的方法是插入斜杠:
@mixin test($fontsize, $lineheight) {
font: $fontsize #{"/"} $lineheight sans-serif;
}