我正在使用无点更改从管理页面动态更改网站的外观。

本质上,我使用正则表达式读取less中定义的变量,然后为用户提供更改变量值的选项。

我想要选择设置背景图像。本质上,我需要一种方法来检查字符串是否为空(如果不是),然后添加背景图像mixin。

@BackgroundImage: '';

.showBackground(@fileName) when (@fileName != '') {
    background-image: url('../Themes/images/backgrounds/@{fileName}');
}

body {
    .showBackground(@BackgroundImage)
}


因此默认值为无背景”当用户设置背景时,变量@BackgroundImage将设置为'backgroundImage1.jpg'

我怎样才能使这个空字符串逻辑起作用?

PS我尝试将变量设置为#000000并使用isstring(),但它似乎返回true。

最佳答案

您想使用when not而不是否定条件。



.showBackground(@fileName) when not (@fileName = '') {
    background-image: url('../Themes/images/backgrounds/@{fileName}');
}


输出量

@BackgroundImage: ''; // No output.
@BackgroundImage: 'foo'; // background-image: url('../Themes/images/backgrounds/foo');

关于css - 如果字符串不是空的条件逻辑则更少,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/15891131/

10-11 13:50