我正在使用{less}并遇到使用括号的问题。我为CSS3转换属性编写了一个mixin。我无法弄清楚如何在编译的CSS中使用括号。 Less将括号视为操作并省略它们。
原创CSS:
.plus {
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
-o-transform: rotate(45deg); }
Less mixin我写道:
.transform (@action, @value){
-webkit-transform: @action(@value);
-moz-transform: @action(@value);
-o-transform: @action(@value); }
结果编译的CSS:
.plus {
-webkit-transform: rotate 45deg;
-moz-transform: rotate 45deg;
-o-transform: rotate 45deg; }
答案 0 :(得分:5)
您可以将其保留为一个值,并在调用时传入您需要的任何内容。
.transform(@value) {
-webkit-transform: @arguments;
-moz-transform: @arguments;
transform: @arguments;
}
.plus {
.transform(rotate(45deg));
.transform(scale(1.5, 2.0));
}
编译到
.plus {
-webkit-transform: rotate(45deg);
-moz-transform: rotate(45deg);
transform: rotate(45deg);
-webkit-transform: scale(1.5, 2);
-moz-transform: scale(1.5, 2);
transform: scale(1.5, 2);
}
答案 1 :(得分:4)
将你的mixin改成这样的东西(关键是将它构建成一个字符串然后使用转义值):
.transform (@action, @value){
@escapedValue: ~"@{action}(@{value})";
-webkit-transform: @escapedValue;
-moz-transform: @escapedValue;
-o-transform: @escapedValue;
}