我正在使用dotless从管理页面动态更改我的网站外观.
本质上,我使用正则表达式来读取less中定义的变量,然后为用户提供更改变量值的选项.
我想要选择设置背景图像.基本上我需要一种方法来检查字符串是否为空,如果它不是然后添加背景图像mixin.
@BackgroundImage: '';
.showBackground(@fileName) when (@fileName != '') {
background-image: url('../Themes/images/backgrounds/@{fileName}');
}
body {
.showBackground(@BackgroundImage)
}
Run Code Online (Sandbox Code Playgroud)
因此默认情况下没有背景''当用户设置背景时,变量@BackgroundImage将被设置为'backgroundImage1.jpg'
如何让这个空字符串逻辑工作?
PS我已经尝试将变量设置为#000000并使用isstring()但它似乎返回true.
你想用when not而不是否定条件.
减
.showBackground(@fileName) when not (@fileName = '') {
background-image: url('../Themes/images/backgrounds/@{fileName}');
}
Run Code Online (Sandbox Code Playgroud)
产量
@BackgroundImage: ''; // No output.
@BackgroundImage: 'foo'; // background-image: url('../Themes/images/backgrounds/foo');
Run Code Online (Sandbox Code Playgroud)