在SCSS中,我正在尝试编写一个函数,该函数采用长度介于0和3之间的列表,并附加默认值(如下所示)以使长度总是为3,然后使用它。在示例中,列表中第一个,第二个和第三个位置的默认值分别为10
,20
和30
。
@function foo($list){
@if length($list) < 1 {append($list, 10)}
@if length($list) < 2 {append($list, 20)}
@if length($list) < 3 {append($list, 30)}
// code follows that uses @list
}
但上面的代码会返回如下错误:
Invalid CSS after "...pend($list, 10)": expected "{", was ";".
如何解决?
答案 0 :(得分:2)
你必须将它设置为变量,像append()
这样的函数是非破坏性的(即它们不会修改原始列表,它们只返回一个新列表)
@function foo($list){
@if length($list) < 1 { $list: append($list, 10) }
@if length($list) < 2 { $list: append($list, 20) }
@if length($list) < 3 { $list: append($list, 30) }
// code follows that uses @list
}