使用颜色操作的Sass功能

时间:2016-12-15 18:01:03

标签: css function sass frontend css-preprocessor

我正在尝试构建一个自动执行悬停状态操作的函数。所以我有这个

$switch-element-hover:         20% !default;
$switch-element-operation:    "lighten" !default;


@function generate-hover-state($color) {   @return
#{$switch-element-operation}($color, $switch-element-hover); }

然后我尝试使用它:

&:hover {
  background-color: generate-hover-state($background);
}

现在我设法编译它但输出看起来很奇怪:

background-color: lighten#626262, 20%;

此外,我尝试使用该工具建议的unquote,但它似乎无法正常工作。

有谁知道怎么做? 感谢。

1 个答案:

答案 0 :(得分:1)

解决了它。

@call方法的答案: http://sass-lang.com/documentation/Sass/Script/Functions.html#call-instance_method

// Hover state function
@function generate-hover-state($color) {
  @return call($switch-element-operation, $color, $switch-element-hover);
}