基于参数的LESS mixin返回值

时间:2018-02-13 04:12:54

标签: css less

我正在尝试创建一个带有几个参数的mixin,并根据这些参数返回一个值。但是,我尝试在http://fiddlesalad.com/less/上测试我的较少文件,但没有任何反应。

@volume-color: white;
.volume-color(@media, @volume) {
    & when (@media = "novel") {
       & when (@volume > 2) {
           @volume-color: green;
       }
       & when (@volume = 1) {
            @volume-color: red;
       }
    }
}

.test {
    .volume-color("novel", 1);
     color: @volume-color; 
}

我做错了什么?

1 个答案:

答案 0 :(得分:0)

试试这个:

.volume-color(@media, @volume) {
  & when (@media = "novel") {
  & when (@volume > 2) {
    color: green;
  }
  & when (@volume = 1) {
    color: red;
  }
}
}
.test {
  .volume-color("novel", 1);
}

.test2 {
  .volume-color("novel", 3);
}

编译为:

.test {
  color: red;
}
.test2 {
  color: green;
}