2012-03-08 56 views
1

我这个小混入设置:有多个参数LESS混入

.linear-gradient(@direction:top, @color1:#fff, @color2:#000) 
{ 
    background-image: -webkit-linear-gradient(@direction, @color1, @color2); 
} 

然后,在我的main.less我想是这样的:

a { .linear-gradient(top, #999, #666); } 

这工作正常,按我说想要做这样的事情:

a { .linear-gradient(top,  , #666); } 

现在,第一种颜色应该默认为其defau mixin颜色。我该怎么做呢?这甚至可能

回答

0

少并没有那么聪明。你可以是明确的:

.linear-gradient(top, #fff, #000); 

或者使用一个变量作为抽象来传递默认值。

@colorVar1: #fff; 

.linear-gradient(top, @colorVar1, #000); 

少不知道如何处理一个空的空间,并且会将是无效的。

+0

所以,你说,它不能做呢? – Kriem 2012-03-08 13:26:50

+0

我没有办法知道。问题是,LESS不知道哪种类型的值将适应不同的参数,所以它假设你会为了提供给他们。您可以尝试指定参数变量名称,希望它将自己用作默认值(例如'.linear-gradient(top,@ color1,#000)'),但我没有尝试过。可能不行。 – JuanOjeda 2012-03-08 13:31:53

+0

不,不起作用。嗯,所以我碰到了我猜想的一个限制。 – Kriem 2012-03-08 13:38:27

6

您也可以明确地传递参数,在其余的参数假定其默认值。

a { .linear-gradient(@direction:top, @color2:#666); }