用于将像素转换为ems的Sass函数

用于将像素转换为ems的Sass函数,sass,Sass,在Sass中使用此功能: @function pem($pxval, $base: 16) { @return #{$pxval / $base}em ; } @函数pem($pxval,$base:16){ @返回#{$pxval/$base}em; } (来源:) pem(16)返回1em,这没问题,但是pem(16px)返回1pxem 此函数如何接受这两种类型的输入 谢谢这似乎是SASS功能的一个很好的用途 @function pem($pxval, $base: 16

在Sass中使用此功能:

@function pem($pxval, $base: 16) { @return #{$pxval / $base}em ; } @函数pem($pxval,$base:16){ @返回#{$pxval/$base}em; } (来源:)

pem(16)
返回
1em
,这没问题,但是
pem(16px)
返回
1pxem

此函数如何接受这两种类型的输入


谢谢

这似乎是SASS功能的一个很好的用途

@function pem($pxval, $base: 16) {
  @if (unitless($pxval)) {
    $pxval: $pxval * 1px;
  }

  @if (unitless($base)) {
    $base: $base * 1px;
  }

  @return $pxval / $base * 1em;
}