Sass Mixin(PXTOEM)在CSS输出中提供错误

Sass Mixin(PXTOEM)在CSS输出中提供错误,sass,drupal-7,mixins,Sass,Drupal 7,Mixins,我使用Drupal,主题提供了一个名为PXTOEM的mixin: // PXTOEM // Calculate percentage with font-size as context @function pxtoem($pixels...) { $result: ''; @each $item in $pixels { $result: $result + ($item + 0) / $default-font-size + em + ' '; } @retur

我使用Drupal,主题提供了一个名为PXTOEM的mixin:

//  PXTOEM
//  Calculate percentage with font-size as context
@function pxtoem($pixels...) {
  $result: '';

  @each $item in $pixels {
    $result: $result + ($item + 0) / $default-font-size + em + ' ';
  }

  @return #{$result};
}
在我的
scss文件中
我像这样使用它:

.header-menus {
  padding: pxtoem(0, $grid-gutter-width);
}
但是在编译之后,它没有得到正确的输出

padding: 0/pxem 0.75/pxem; (see screenshot)[![Screenshot][2]][2]

您应该添加像素,而不是
+0
+0px
。使用
+0em
代替
+em

萨斯密斯特。
如果不能修改主题的源代码,请创建自己的函数

$default-font-size: 16px;

//  PXTOEM
//  Calculate percentage with font-size as context
@function pxtoem($pixels...) {
  $result: '';

  @each $item in $pixels {
    $result: $result + ((($item + 0px) / $default-font-size) + 0em) + ' ';
  }

  @return #{$result};
}

.header-menus {
  padding: pxtoem(0, 30, 30px);
}
Css输出:

.header-menus {
  padding: 0em 1.875em 1.875em ;
}

$default font size
$grid ground width
的值是多少?在
\u settings.scss
中,我有
$default grid ground width:30
并且在scss文件的顶部,我有
。标题菜单{}
我有
$grid ground width:$default grid ground width