跳到主要内容

Logical Functions

if

根据条件返回两个值中的一个。

参数:

  • condition:布尔表达式
  • value1:如果 condition 为 true,则返回该值。
  • value2:如果 condition 不为 true,则返回该值。

发布版本:v3.0.0 更新版本:v3.6.0

示例

@some: foo;

div {
margin: if((2 > 1), 0, 3px);
color: if((iscolor(@some)), @some, black);
}

结果:

div {
margin: 0;
color: black;
}

注意:作为 conditional 参数支持的布尔表达式与 Guard Statements 相同。

if(not (true), foo, bar);
if((true) and (2 > 1), foo, bar);
if((false) or (isstring("boo!")), foo, bar);

注意:在 Less 3.6 之前,条件需要一组括号。

if(2 > 1, blue, green);   // 在 3.0-3.5.3 中会导致错误
if((2 > 1), blue, green); // 在 3.6+ 中正常

boolean

求值为 true 或 false

你可以在 guard 或 if() 中“存储”布尔测试以供以后评估。

参数:

  • condition:布尔表达式

发布版本:v3.0.0 更新版本:v3.6.0

示例

@bg: black;
@bg-light: boolean(luma(@bg) > 50%);

div {
background: @bg;
color: if(@bg-light, black, white);
}

结果:

div {
background: black;
color: white;
}