2016-06-21 11 views
0

Lets asume, dass ich eine Variable:Less.js: wenn @color = Wert etwas tun

@title: blue; 

Und ich muss wissen, ob es überhaupt mit dem isColor ist Funktion etwas, wenn der Wert zu tun ist blau. Zum Beispiel, wenn @title blau Import eine @mixin zu einer Klasse = namens „mytitle“ Im wirklich nicht die isColor Funktion und Verhalten zu verstehen Vielen Dank im Voraus

Antwort

1

iscolor hier nicht geeignet ist - es wertet einfach einen String und sagt Ihnen, ob die Zeichenfolge eine gültige Farbzeichenfolge ist. Wenn Sie so etwas wie iscolor(@title) versuchen, wird true unabhängig von der Farbe zurückgegeben (solange @title eine gültige Farbzeichenfolge enthält).

aktualisieren: Ich glaube, du bist für die Mixin Guard Feature suchen:

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

so, ist ther Ist es trotzdem etwas zu tun, wenn die Farbe "blau" ist oder nicht? – canute

+0

siehe mein Update über Mixin-Wächter –

+1

Alternativ können Sie die Syntax '& when (@title = blue)' verwenden, die im [CSS Guards-Abschnitt der Dokumentation] (http://lesscss.org/features/#css) demonstriert wird -Schutzfunktion), um Ihre Importe zu verpacken. –

2

Wenn ich verstehe Ihre Frage richtig, was Sie versuchen zu tun ist extrem einfach:

@title: blue; 

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

Wenn der Wert @title gleich blue ist, fügen Sie Stile zu .mytitle