2012-12-14 76 views
0

我有一个变量,我正在通过这个循环,而这个变量将被用来动态地命名这个类。没关系,这有可能产生大量的类,我想知道为什么如果我在函数调用或其他任何地方将“红色”变量改为其他任何东西,基本上如果它们不完全相同,我会得到一个“对象[对象]有没有方法toCSS为什么我的LESS变量必须是相同的

注:我使用的是Mac较少应用在保存时编译

的混入电话:

.createShades (10, "red", #ff3333); 

的混入本身

// Generate our reds 
.createShades (@index, @color, @base-color) when (@index > 0) { 
    @i: @index; 
    .createShade (@index, @i, @color, @base-color); 
    .createShades (@index - 1, @color, @base-color); 
} 
.createShades (0, "red", @base-color) {} 

.createShade (@index, @i, @color, @base-color) when (@i > 0) { 
    @num: percentage((lightness(@base-color)/100) * (1 - (@i/@index))); 
    @newShade: darken(@base-color, @num); 
    (~"[email protected]{color}[email protected]{i}[email protected]{index}-text") { 
     color: @newShade; 
    } 
    (~"[email protected]{color}[email protected]{i}[email protected]{index}-bg") { 
     background-color: @newShade; 
    } 
    .createShade (@index, @i - 1, @color, @base-color); 
} 
.createShade (@index, 0, "red", @base-color) {} 

回答

1

您需要更改结尾 mixin(当值达到0时使用)具有@color而不是"red")。所以......

.createShades (0, @color, @base-color) {} 
.createShade (@index, 0, @color, @base-color) {} 

这是因为它正在寻求“红色”所以,当你改变你的电话到另一种颜色,它抛出一个错误,因为它不符合“红”的匹配。

相关问题