2013-02-14 21 views
3

這可能很難解釋。有沒有一種方法可以減少不寫出@child參數而不會超載混音?我真的不想要兩個混合。如果我使用「」雙引號輸出。我希望LESS編譯器將其留空。LESS預處理和空參數?

更少的代碼

.build-on(size, @child) 
{ 
    &--1-1 @{child} 
    {    
     width: 100%; 
    } 

    &--1-2 @{child} 
    { 
     width: 50.0%; 
    } 

    &--1-3 @{child} 
    { 
     width: 33.3%; 
    } 

    &--1-4 @{child} 
    { 
     width: 25.0%; 
    } 

    &--1-5 @{child} 
    { 
     width: 20.0%; 
    } 
} 

// I might need to provide a child element 

.data-table 
{ 
    .build-on(size, table); 
} 

// I might not 

.grid 
{ 
    .build-on(size, ""); 
} 
+0

你在尋找類似默認值的東西嗎? – dmi3y 2013-02-14 03:59:27

+0

我正在尋找輸出爲.grid - 1-1如果沒有參數傳遞。現在它的.grid - 1-1「」但是,我確實有時需要通過一個論點。我真的不想爲此創造另一種混搭。 – 2013-02-14 04:10:37

回答

3

通過它,像這樣:

.yourClass 
{ 
    .build-on(size, ~''); 
} 

或更好,但...

定義默認:.build-on(size, @child: ~'') { ... }則不需要進行第二次:

.yourClass 
{ 
    .build-on(size); 
} 
+0

你搖滾。非常感謝。 – 2013-02-15 03:03:06

+0

這就是所謂的默認值;)http://lesscss.org/#-parametric-mixins – dmi3y 2013-02-15 15:59:54

+0

沒有〜它寫出了一個空間。再次感謝。 – 2013-02-19 04:31:45