是否可以参数化sass颜色函数?

时间:2016-02-11 10:14:37

标签: css sass

我正在为具有不同主题的sass项目构建配置文件。

要定义按钮的悬停,我正在使用其中一种颜色函数:

darken($bgcolor, 10%);

我想知道是否可以参数化“变暗”功能,以便我们可以在配置文件中定义按钮的悬停行为。

我试图设置一个变量:

$button-hover: darken;

然后以这种方式回忆起来:

$button-hover($bgcolor, 10%);

但是css输出错误:

background: darken #db8947, 10%;

您对如何做有任何建议吗? 谢谢!

2 个答案:

答案 0 :(得分:1)

为什么不使用这种方式,

$button-hover: darken($bgcolor, 10%);
.item{
   background: $button-hover;
}

答案 1 :(得分:-1)

你可以制作一个模拟功能:

@function button-bg($color, $percentage){
    @return darken($color, $percentage);
}

现在您可以像使用其他任何功能一样使用它:

background: button-bg(#666, 20%);

在这种情况下,您将不再使用variables,因此您可能希望使您的函数名称更加明显,并使其类似于theme-button-bg或其他内容。