【发布时间】:2011-10-19 02:42:24
【问题描述】:
我编写了一个非常简单的 Sass mixin,用于将像素值转换为 rem 值(参见 Jonathan Snook 的 article on the benefits of using rems)。代码如下:
// Mixin Code
$base_font_size: 10; // 10px
@mixin rem($key,$px) {
#{$key}: #{$px}px;
#{$key}: #{$px/$base_font_size}rem;
}
// Include syntax
p {
@include rem(font-size,14);
}
// Rendered CSS
p {
font-size: 14px;
font-size: 1.4rem;
}
这个 mixin 工作得很好,但我对它的 include 语法有点不满意。看,我宁愿将像素值传递给 include 语句,而不是简单的数字。这是一个小细节,但它会将语义添加到当前不存在的包含语句中。这是我尝试将像素值传递到 include 语句时得到的结果:
// Include syntax
p {
@include rem(font-size,14px);
}
// Rendered CSS
p {
font-size: 14pxpx;
font-size: 1.4pxrem;
}
一旦 Sass 看到一个像素值被传递到一个方程中,它就会输出“px”。 我想去掉那个度量单位,就像我在 JavaScript 中使用 parseFloat 或 parseInt 一样。在 Sass mixin 中如何做到这一点?
【问题讨论】:
-
至少 Sass 会让你以 rem 为单位。 Less 无法识别它,并在我的尺寸和单位之间添加了一个空格。