2012-03-08 28 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); }