我正在尝试在Sass中创建一个mixin用于:悬停操作,但我无法使其工作.
我宣布混合:
@mixin hover($action, $color, $amount) {
color: $action($color, $amount);
}
Run Code Online (Sandbox Code Playgroud)
我的想法是使用Sass Script Funcions通过基本上使其变亮或变暗来改变悬停链接的颜色.所以我举例说:
a {
&:hover {
@include hover(darken, $footer-text-color, 5%);
}
}
Run Code Online (Sandbox Code Playgroud)
$footer-text-color 是我之前定义的变量,它等于十六进制颜色,例如#84b3c8.
我希望这与...相同
a {
&:hover {
color: darken($footer-text-color, 5%);
}
}
Run Code Online (Sandbox Code Playgroud)
相反,它在纯CSS中编译的是:
color: darken #84b3c8, 5%;
Run Code Online (Sandbox Code Playgroud)
显然,颜色功能不起作用,但真诚地我不明白为什么.我确定这是愚蠢的事情,也许是mixin参数中变量和字符串值之间的混合?
函数和mixin 在Sass 中不是一流的,这意味着它们不能作为参数传递给其他函数或mixin.
在Sass 3.3中,有一个名为的新函数call()可以为您提供所需的行为:
@mixin hover($action, $color, $amount) {
color: call($action, $color, $amount);
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1492 次 |
| 最近记录: |