0

我该怎么做这样的事情:?

.test1(@light: 1px;){
    "inset 0 @light 0 rgba(255, 255, 255, 0.2)";
}
.test2(@elevation: 3px;){
    "0 @elevation 0 rgba(000, 000, 000, 0.1)";
}

@testing: .test1() "," .test2(); 
box-shadow: @testing;
4

1 回答 1

1

我推荐以下方法:

// Box shadow.
.mx-box-sh (@arguments) {
  -webkit-box-shadow: @arguments;
     -moz-box-shadow: @arguments;
          box-shadow: @arguments;
}

// Mixin for your specific needs.
.mx-my-box-sh (@light: 1px, @elevation: 3px) {
  .mx-box-sh(e(%("inset 0 %s 0 rgba(255, 255, 255, 0.2), 0 %s 0 rgba(0, 0, 0, 0.1)", @light, @elevation)));
}

// Call the mixin.
.my-selector {
  .mx-my-box-sh();
}

确保您使用的是最新的 LESS 编译器 (1.4.0)。

据我所知,你不能从 mixins 中“返回”文本。事实上,mixin 是不返回任何东西的过程构造。

于 2013-06-09T15:54:28.437 回答