在CSS属性值中使用以斜杠分隔的变量时如何防止除法

小胖 · 04月07日

当我尝试使用字体速记属性的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停止分裂?

CSSCSS
回答(2)
时间
古一村村
2 · 2020-04-07 11:38:02

BoltClock的答案在大多数情况下都有效,但是,如果变量$fontsize是一个函数,例如$fontsize: rem-calc(10px),它将输出为字符串。

一种更防弹的方法是插入斜线:

@mixin test($fontsize, $lineheight) {
    font: $fontsize #{"/"} $lineheight sans-serif;
}
J
JinJin
1 · 2020-04-07 11:38:02

使用#{}插值符号将变量视为字符串。由于Sass不能对字符串执行算术运算,因此/将其视为文字斜杠而不是除法运算符:

@mixin test($fontsize, $lineheight) {
    font: #{$fontsize}/#{$lineheight} sans-serif;
}

你的回答

加载中...
⌘+Return 发表
发表

温馨提示:登录后可发表评论或回复

关闭,朕知道了

扫码关注微信公众号或小程序