【发布时间】:2015-05-28 00:49:38
【问题描述】:
我正在尝试遍历一个自动执行多个功能的列表。不幸的是,该函数没有被评估。
例如:
$colors:
red,
blue,
green;
@each $color in $colors{
.color-#{$color} {
value: $color(#F15258);
}
}
(我已经简化了我的示例代码以便于说明)。
不幸的是,这只是输出$key 的值和颜色#F15258。
即:
value: red #F15258;
我可以让 SASS 将变量作为函数名称传递,以便它实际评估 `red(#F15258)?
它应该输出:
value: 241;
有什么想法吗?
【问题讨论】:
-
你有更好的例子来说明你正在尝试做什么吗?可能有解决办法,但目前无法通过这种方式解决。
-
我正在尝试遍历一个列表,因此我不必分别为每个颜色通道执行相同的一组值。这是我试图减少的代码示例。 codepen.io/sevenupcan/pen/iHkby
-
如果我正在编写代码,它只会使用第二个函数而不是循环:codepen.io/cimmanon/pen/tyqdK。在这种情况下,循环不是很有效,因为您只有一个真正通用的代码块。开头调用的函数(红色、蓝色、绿色)和结尾处的调整会减少代码重用。
-
谢谢,这看起来更好,虽然我认为它需要另一个函数,因为通道 var 除以 255,但它需要通道的颜色值除以 255。
-
@johnslegers 由于您的编辑被拒绝,请作为另一个答案提交。