SASS功能中的每个
我想使用sass(理想的缩进语法)将相同的转换应用于几个不同的属性。为此,我想使用@each指令。我已经搜索了一些示例,但是有关sass中函数的文档非常零散 以下是我所拥有的:SASS功能中的每个,sass,Sass,我想使用sass(理想的缩进语法)将相同的转换应用于几个不同的属性。为此,我想使用@each指令。我已经搜索了一些示例,但是有关sass中函数的文档非常零散 以下是我所拥有的: @function default-trans($trans...) $out: () @each $tran in $trans append($out, "#{$tran} 600ms cubic-bezier(0.68, -0.55, 0.265, 1.55)") @return $out #
@function default-trans($trans...)
$out: ()
@each $tran in $trans
append($out, "#{$tran} 600ms cubic-bezier(0.68, -0.55, 0.265, 1.55)")
@return $out
#sidebar
transition: default-trans(background-color width)
预期结果:
#sidebar {
transition: background-color 600ms cubic-bezier(0.68, -0.55, 0.265, 1.55), width 600ms cubic-bezier(0.68, -0.55, 0.265, 1.55)
}
我得到一个错误,说:
函数只能包含变量声明和控制指令
我怀疑问题是否真的是我的append函数,但我猜我有某种语法错误,无法充分调试
感谢您的帮助 如果要发送列表,则必须使用逗号分隔的值
transition: default-trans(background-color, width)
在追加结果时,需要再次将其分配给输出
从
append($out, "#{$tran} 600ms cubic-bezier(0.68, -0.55, 0.265, 1.55)")
到
代码块
@function default-trans($trans...)
$out: ()
@each $tran in $trans
$out: append($out, #{$tran} 600ms cubic-bezier(0.68, -0.55, 0.265, 1.55), comma)
@return $out
#sidebar
transition: default-trans(background-color, width)
太好了!谢谢你花时间这么详尽地讲了一遍。非常感谢。
@function default-trans($trans...)
$out: ()
@each $tran in $trans
$out: append($out, #{$tran} 600ms cubic-bezier(0.68, -0.55, 0.265, 1.55), comma)
@return $out
#sidebar
transition: default-trans(background-color, width)