较少mixins:OR的负面条件

时间:2014-01-30 00:03:56

标签: less mixins

我的mixin不适用于2个条件(如果不是= A或B ......); 我的混音:

.fontFamily(@font-family,@parent:arial) when not (@font-family = @parent) , not (@font-family = inherit)  {
font-family: "@{font-family}";}

我的文件较少:

@font:arial;
.myclass{
.fontFamily(@font);
}

如果我只有一个条件,它可以工作......但是同一个混合中的2个条件,它不起作用。

1 个答案:

答案 0 :(得分:1)

逻辑not(A or B)等于not(A) and not(B),因此您需要使用and代替逗号(or),即:

.fontFamily(@font-family, @parent: arial) when
    not(@font-family = @parent) and
    not(@font-family = inherit) {
        font-family: "@{font-family}";
}

.myclass-1 {
    .fontFamily(arial);
}

.myclass-2 {
    .fontFamily(inherit);
}

.myclass-3 {
    .fontFamily(laira);
}

CSS输出:

.myclass-3 {
  font-family: "laira";
}