2016-06-21 57 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