2016-06-21 54 views
0

讓asume,我有一個變量:Less.js:如果@color =價值做點什麼

@title: blue; 

,我需要知道是否有無論如何與iscolor功能如果值做某事是藍色的。 例如,如果@title =藍色導入@mixin到一個名爲「mytitle」 我不是真正瞭解iscolor功能和行爲 預先感謝

回答

1

iscolor不適合這裏的類 - 它只是評估字符串和告訴你該字符串是否是有效的顏色字符串。因此,不管顏色如何(只要@title包含有效的顏色字符串),嘗試使用類似iscolor(@title)的東西將返回true

更新:我認爲你正在尋找的Mixin Guard功能:

.mixin (@a) when (lightness(@a) >= 50%) { 
    background-color: black; 
} 
.mixin (@a) when (lightness(@a) < 50%) { 
    background-color: white; 
} 
.mixin (@a) { 
    color: @a; 
} 
+0

因此,是無論如何,如果顏色是「藍色」或沒有做某事? – canute

+0

查看我關於mixin衛士的更新 –

+1

或者,您可以使用'&when(@title = blue)'語法,在文檔的[CSS Guards]部分中演示(http://lesscss.org/features/#css -guards-feature)來包裝你的導入。 –

2

如果我正確理解你的問題,你正在嘗試做的是非常簡單的:

@title: blue; 

.mytitle when (@title = blue){ 
    /*Do stuff here*/ 
} 

如果@title的值等於blue,則將樣式添加到.mytitle