我正在尝试为供应商属性创建一个 Less mixin,允许某人指定他们想要使用的 CSS 属性、属性的值以及他们想要它的供应商(Opera、Mozilla、Firefox、Webkit、IE , 没有任何)。
我最初在这里用 SASS 编写代码,但很难将其移植到 Less。
这是我目前拥有的:
.vendor(@property, @value, @vendors...) {
.vendor-detect() when (@vendors = webkit) {
-webkit-@{property}: @value;
}
.vendor-detect() when (@vendors = moz) {
-moz-@{property}: @value;
}
.vendor-detect() when (@vendors = ms) {
-ms-@{property}: @value;
}
.vendor-detect() when (@vendors = o) {
-o-@{property}: @value;
}
.vendor-detect() when (@vendors = official) {
@{property}: @value;
}
.vendor-detect();
}
现在,当您这样使用代码时:
.button {
.vendor(border-radius, 4px, official);
}
你得到:
.button {
border-radius: 4px;
}
但我希望能够使用 mixin 声明多个供应商,因此使用:
.button {
.vendor(border-radius, 4px, webkit moz official);
}
应该为我提供:
.button {
-webkit-border-radius: 4px;
-moz-border-radius: 4px;
border-radius: 4px;
}
但现在没有。
那么如何vendors
在这个mixin中循环遍历参数,或者我什至可以在Less中做到这一点?