【发布时间】:2013-10-25 08:58:41
【问题描述】:
我喜欢在我的 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 只是在数字之间添加一个斜线。也就是这个:
@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 将变量识别为数字,从而正确地对它们使用除法运算符?
另外,经过更多测试后,我意识到连接只发生在最后一个变量上。
【问题讨论】: