首页 > 解决方案 > 在LESS中将条件传递给mixins

问题描述

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

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

如果我像这样将条件作为真/假传递,它工作正常:

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

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

标签: csslessconditional-statements

解决方案


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

但是你可以在没有.ifmixin 的情况下编写代码:

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

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

推荐阅读