在SASS而非SCSS中创建em转换器函数

在SASS而非SCSS中创建em转换器函数,sass,Sass,我是SASS和Compass的新手,尝试创建一个函数,可以将传递的像素值转换为em。我找到了一个教程,但它是针对SCSS的,不适用于SASS 就连我也在SASS网站上查过,但似乎他们有大多数关于SCS的文档,而不是他们描述的所有关于SASS的文档 这是我写的 @function em($px, $base: 24px) @return ($px / $base) * 1em 在我的项目中也使用了垂直字体,并尝试这样做,但再次给出了$base font size @function em

我是SASS和Compass的新手,尝试创建一个函数,可以将传递的像素值转换为em。我找到了一个教程,但它是针对SCSS的,不适用于SASS

就连我也在SASS网站上查过,但似乎他们有大多数关于SCS的文档,而不是他们描述的所有关于SASS的文档

这是我写的

@function em($px, $base: 24px)
    @return ($px / $base) * 1em
在我的项目中也使用了垂直字体,并尝试这样做,但再次给出了
$base font size

@function em($px, $base: $base-font-size)
    @return ($px / $base) * 1em
所以当我把它当作

font-size: em(16px)

它应该在输出中转换为
1em
您的函数似乎正确。只需确保已使用16px等值定义了
$base font size

你所拥有的上述混音也应该有效

$base-font-size: 16px;
@function em($px, $base: $base-font-size) {
@return ($px / $base ) * 1em; 
}
现在可以调用
font-size:em(16px)并且它应该可以工作
您还可以使用可选的基数调用此函数,有时您可能希望在不是16px的基数上进行计算

请同时查看rem字体大小。您可能想跳过它们,因为它们有嵌套问题

有关上述mixin的更详细版本,您可以调用

border:emCalc(10203040)

你不必重复px值,你可以在里面有1到4个值,检查Zurb基金会中的MIXIN。


您的功能似乎正确。只需确保已使用16px等值定义了
$base font size

你所拥有的上述混音也应该有效

$base-font-size: 16px;
@function em($px, $base: $base-font-size) {
@return ($px / $base ) * 1em; 
}
现在可以调用
font-size:em(16px)并且它应该可以工作
您还可以使用可选的基数调用此函数,有时您可能希望在不是16px的基数上进行计算

请同时查看rem字体大小。您可能想跳过它们,因为它们有嵌套问题

有关上述mixin的更详细版本,您可以调用

border:emCalc(10203040)

你不必重复px值,你可以在里面有1到4个值,检查Zurb基金会中的MIXIN。