Sass传递映射到函数不是有效的CSS值

时间:2018-01-25 09:30:59

标签: css css3 sass

我有一个接受sass map作为参数的函数。问题是,当我给它一个自定义map时,它会抛出:

  

(颜色:红色)不是有效的CSS值。

@function is-map($var){
  @return type-of($var) == 'map';
}

@function someFunc($props...) {
  @if(is-map($props)) {
    @return 'map';
  } @else {
    @return $props;
  }
}

h2 {
  color: someFunc((color: red));
}

我希望进入if块并返回'map'字符串。我错过了什么?

1 个答案:

答案 0 :(得分:1)

您的地图没有问题,但使用了$props...

@function is-map($var){
  @return type-of($var) == 'map';
}

@function someFunc($props...) {
  @if(is-map($props...)) { /*  only difference is the three dots you don't use */
    @return 'map';
  } @else {
    @return $props;
  }
}

h2 {
  color: someFunc((color: red));
}

请阅读site point article about SASS @function arguments