ベンダーの 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
私のためにこれを行う一般的なミックスインです。
.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
ミックスインがコンパイルされないことです...
私は試した:
.vendors(@prop, @val) {
-moz-@prop: @val; /* Error */
~"-moz-@{prop}": @val; /* Error */
~`"-moz-@{prop}": @val; /* Error */
}
これを行う方法についてのアイデアはありますか?
乾杯