在 LESS 中将条件传递给 mixins

Passing conditions to mixins in LESS

首先,我使用的是 LESS 1.7(而且我无法更改它)。我的 less 文件中有以下 if-mixin,如果满足条件,它应该设置 属性 及其值:

.if(@condition, @property, @value) when (@condition){
   @{property}: @value !important;
}

如果我像这样将条件传递为 true/false,它就可以正常工作:

.column-header {
    font-family: 'Something';
    .if(true, color, green);
}

但是,我无法将条件作为表达式传递。如果我想通过 2 > 1 之类的比较,我会得到一个解析错误:expected ')' got '>'。这是否不受支持(或者在 1.7 中不支持)?难道我做错了什么?任何解决方法?谢谢!

不确定是否可以将条件传递给 mixin。

但是你可以只写代码而不用 .if mixin:

.column-header {
    font-family: 'Something';

    & when (2 > 1) {
        color: green;
        font-size: 20px;
    }
}