定义供应商的 mixin 是 LESS 下的常见任务,即:
.box-shadow() {
-moz-box-shadow:@arguments;
-webkit-box-shadow:@arguments;
-o-box-shadow:@arguments;
-ms-box-shadow:@arguments;
box-shadow:@arguments;
}
.border-radius() {
-moz-border-radius:@arguments;
-webkit-border-radius:@arguments;
-o-border-radius:@arguments;
-ms-border-radius:@arguments;
border-radius:@arguments;
}
...
不过好像有点重复……
我想要的是一个通用的vendor
mixin,它为我做这件事,即:
.vendors(@prop, @val) {
-moz-@prop:@val;
-webkit-@prop:@val;
-o-@prop:@val;
-ms-@prop:@val;
@prop:@val;
}
然后定义box-shadow
mixin 就像这样简单:
.box-shadow() {
.vendors(box-shadow, @arguments);
}
问题是我的.vendors
mixin没有编译...
我试过:
.vendors(@prop, @val) {
-moz-@prop: @val; /* Error */
~"-moz-@{prop}": @val; /* Error */
~`"-moz-@{prop}": @val; /* Error */
}
你知道如何做到这一点吗?
干杯