【问题标题】:Is it possible to parameterize a sass color function? [duplicate]是否可以参数化 sass 颜色函数? [复制]
【发布时间】:2016-02-11 18:33:05
【问题描述】:

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

为了定义按钮的悬停,我使用了一种 sass 颜色函数:

darken($bgcolor, 10%);

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

我尝试设置一个变量:

$button-hover: darken;

然后这样回忆:

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

但是css输出错误:

background: darken #db8947, 10%;

你有什么建议吗? 谢谢!

【问题讨论】:

    标签: css sass


    【解决方案1】:

    为什么你不使用这种方式,

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

    【讨论】:

    • 我认为他想要一个不同的解决方案,因为他可能想用 lighten 函数替换 darken 以获得不同的主题。
    【解决方案2】:

    你可以做一个模拟函数:

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

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

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

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

    【讨论】:

    • 为什么投反对票?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-06-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-08
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多