【发布时间】:2014-10-03 00:28:43
【问题描述】:
我正在尝试为供应商属性创建一个 Less mixin,它允许某人指定他们想要使用的 CSS 属性、属性的值以及他们想要的供应商(Opera、Mozilla、Firefox、 Webkit,IE,无)。
我最初在 SASS here 中编写代码,但很难将其移植到 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;
}
但现在没有。
那么我该如何在这个 mixin 中循环遍历 vendors 参数,或者我什至可以在 Less 中这样做吗?
【问题讨论】:
标签: css less mixins less-mixins