使用SASS,我想在IF语句中有多个条件
我现在使用的是什么:
@function color-x ($alpha) {
@if $accent == red {@return red($alpha)}
@else if $accent == green {@return green($alpha)}
@else if $accent == blue {@return blue($alpha)}
}
我天真(失败)尝试使用多种条件:
@function color-x ($alpha) {
@if $accent == red && theme == light {@return red($alpha)}
@else if $accent == green && theme == light {@return green($alpha)}
@else if $accent == blue && theme == light {@return blue($alpha)}
}
是否可能有多种条件?
答案 0 :(得分:108)
来自Sass语言参考文档:
布尔操作
SassScript支持
and
,or
和not
运算符以获取布尔值。
因此具有复合条件的if语句表达式如下所示:
@if $var1 == value1 and $var2 == value2 {
// ...
}
此外,括号可用于影响更复杂表达式中的操作顺序:
@if ($var1 == value1 and not ($var2 == value2)) or ($var3 == value3) {
// ...
}
答案 1 :(得分:3)
你也可以这样做:
@if index("foo" "bar", $value) { .. }
请注意:
null
,而不是布尔值。