无法将函数作为mixin的参数传递

Ithil

我正在尝试在Sass中创建一个mixin用于:hover动作,但是我无法使其工作。

我声明了mixin:

@mixin hover($action, $color, $amount) {
    color: $action($color, $amount);
}

我的想法是使用Sass脚本功能通过基本变或变暗来更改悬停时链接的颜色。因此,例如,我尝试:

a {
    &:hover {
        @include hover(darken, $footer-text-color, 5%);
    }
}

$footer-text-color 是我先前定义的等于十六进制颜色的变量,例如#84b3c8。

我希望这与

 a {
    &:hover {
        color: darken($footer-text-color, 5%);
    }
}

相反,用普通CSS编译的是:

color: darken #84b3c8, 5%;

因此,很明显,颜色功能无法正常工作,但我真诚地无法理解为什么。我确定这很愚蠢,也许是mixin参数中的变量和字符串值之间的混合?

西曼侬

函数和混入不是Sass中的一流函数,这意味着它们不能作为参数传递给其他函数或混入。

在Sass 3.3中,有一个名为的新函数call(),它将为您提供所需的行为:

@mixin hover($action, $color, $amount) {
    color: call($action, $color, $amount);
}

本文收集自互联网,转载请注明来源。

如有侵权,请联系[email protected] 删除。

编辑于
0

我来说两句

0条评论
登录后参与评论

相关文章

来自分类Dev

无法将函数作为mixin的参数传递

来自分类Dev

将函数作为参数传递

来自分类Dev

将函数作为参数传递

来自分类Dev

无法将变量作为onClick函数中的参数传递

来自分类Dev

无法将字典作为参数传递给VBA函数

来自分类Dev

无法将变量作为onClick函数中的参数传递

来自分类Dev

将函数作为参数传递给函数

来自分类Dev

将函数作为函数参数传递

来自分类Dev

将函数作为参数传递给函数

来自分类Dev

将属性名称作为参数传递给mixin LESS

来自分类Dev

将属性名称作为参数传递给mixin LESS

来自分类Dev

将 ko observable 作为参数传递给 jade mixin

来自分类Dev

将函数作为APL中的参数传递

来自分类Dev

将矩阵作为参数传递给函数

来自分类Dev

Scala:将咖喱函数作为参数传递

来自分类Dev

将命名函数作为参数传递

来自分类Dev

将函数作为参数传递给操作

来自分类Dev

将函数调用作为参数传递

来自分类Dev

将代码作为函数参数传递

来自分类Dev

将函数作为最终参数传递

来自分类Dev

将函数作为参数传递(Lambda)

来自分类Dev

将嵌套函数作为参数传递

来自分类Dev

将多维数组作为函数参数传递

来自分类Dev

将函数作为参数传递并重载

来自分类Dev

将泛型函数作为参数传递

来自分类Dev

将聚合函数作为参数传递

来自分类Dev

将动画函数作为参数传递

来自分类Dev

将类方法作为函数参数传递

来自分类Dev

将数组作为参数传递给函数