提问人:prettyInPink 提问时间:10/18/2021 更新时间:10/18/2021 访问量:178
LESS OR 运算符
Less OR operator
问:
如果其他变量为“未定义”,是否有可能具有回退变量。 如以下示例所示:
@defColor = '#fff';
@setColor = '';
.selector {
color: @setColor || @defColor;
}
对于上述情况,应返回:
.selector {
color: #fff;
}
当不为空时,它将使用它:setColor
@defColor = '#fff';
@setColor = '#000';
.selector {
color: @setColor || @defColor;
}
这将返回:
.selector {
color: #000;
}
我知道以下方法会起作用:
.selector {
color: @defColor;
color: @setColor;
}
但它看起来不对。
谢谢!
答:
2赞
DBS
10/18/2021
#1
我认为这应该使用 LESS 的逻辑(文档)和(文档)函数:if
iscolor
@defColor: #fff;
@setColor: '';
.selector {
color: if(iscolor(@setColor), @setColor, @defColor);
}
值得注意的是,它被解释为字符串而不是颜色,因此在定义颜色变量时需要省略引号才能使此方法起作用。"#fff"
你可以把它粘贴到LESS的playground中来尝试一下。
评论
0赞
prettyInPink
10/18/2021
肯定似乎在 Playground 中工作,我相信我正在运行旧版本,因为在我的版本上它不起作用。将寻求更新它。谢谢!
评论
undefined
color: #zzz
undefined
,这意味着一个空字符串,检查无效的颜色值会很好,但如前所述,可能过于复杂。