//http://stackoverflow.com/questions/14350749/less-arguments-with-linear-gradients-commas .mixin(...) { filter: gradient( ~`@{arguments}.join(",")` ); } .test { .mixin("x1","x2","x3") }
输出css
test { filter: gradient(x1,2,3); }
就是捕捉用户全部传入的参数,而后拼接web
这里有一篇讲述早期如此与@arguments做斗争的http://www.toekneestuck.com/blog/2012/05/15/less-css-arguments-variable/ 不过,1.32出来后就做废了。看如今的作法less
.flex(@flex) { -webkit-box-flex: @flex; -moz-box-flex: @flex; -o-box-flex: @flex; box-flex: @flex; -webkit-flex: @flex; -moz-flex: @flex; -ms-flex: @flex; -o-flex: @flex; flex: @flex; } ul { @value:1 1 auto; .flex(@value); list-style: none; margin: 0; padding: 0; background: hsl(200,100%,90%); //min-height: 0; overflow: auto; }
看到没有,如今咱们能够把传参放到一个变量中,我这里叫@value,随你怎么定义,而后再传到函数里。支持传变量,对于.transition,.transform这样须要传复杂的字符串的CSS数来讲,就简单多了。函数
最后这里还一篇,一些更有用的技巧http://www.sitepoint.com/a-comprehensive-introduction-to-less-mixins/flex