我喜欢在CSS中使用rem单位,并使用像素回退。我正在尝试制作mixin来帮助这个过程。对于字体大小,这很容易:
@mixin font-size($size) {
font-size: $size + px;
font-size: ($size / 10) + rem;
}
但是对于填充、边距等,这个Mixin需要接受可变参数,这在Sass文档中是可能的。http://sass-lang.com/documentation/file.SASS_REFERENCE.html#variable_arguments
然而,使用下面的Mixin时,它并不是将数字除以10,而只是在数字之间添加斜杠。也就是说,这个:
@mixin padding($padding...) {
padding: $padding + px;
padding: ($padding / 10) + rem;
}
.class {
@include padding(24);
}
输出结果为:
.class {
padding: 24px;
padding: 24/10rem;
}
与我预期的不同,应该是这样:
.class {
padding: 24px;
padding: 2.4rem;
}
有没有办法确保Sass将变量识别为数字,从而正确地对它们使用除法运算符?
此外,在进一步测试后,我意识到连接仅在最后一个变量上进行。