Sass函数将像素转换为ems

Tri*_*ash 4 sass

在Sass中使用此功能:

@function pem($pxval, $base: 16) {

         @return #{$pxval / $base}em ;
}

(来源:https://gist.github.com/2237465)

pem(16)返回1em,没关系,但pem(16px)返回1pxem.

该函数如何接受这两种输入?

谢谢

hop*_*per 12

这似乎是SASS的无单元()函数的一个很好的用途.

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

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

  @return $pxval / $base * 1em;
}
Run Code Online (Sandbox Code Playgroud)