クラスに動的に名前を付けるために使用される、less でこのループを通過する変数があります。これには膨大な量のクラスが生成される可能性があることを気にしないでください。関数呼び出しまたは他の場所で「赤」変数を別のものに変更すると、基本的にそれらがすべて同じでない場合、「 Object[object] には toCSS のメソッドがありません。
注:保存時にコンパイルするために、Macでlessアプリを使用しています。
ミックスイン呼び出し:
.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);
(~".@{color}-@{i}-@{index}-text") {
color: @newShade;
}
(~".@{color}-@{i}-@{index}-bg") {
background-color: @newShade;
}
.createShade (@index, @i - 1, @color, @base-color);
}
.createShade (@index, 0, "red", @base-color) {}