いくつかのインデックス付き変数(この場合は色)をループして、それぞれのクラスを作成しようとしています。これに沿った何か:
@colour-1: #FF0000;
@colour-name-1: "red";
.loop (@index) when (@index > 0) {
@colour: ~"@{colour-@{index}}";
@name: "@{colour-name-@{index}}";
(~'*[data-colour="@{name}"]') {
background-color: @colour;
background-color: hsla(hue(@colour), saturation(@colour), lightness(@colour), 0.5);
}
.loop(@index - 1);
}
.loop (0) {}
.loop (1);
IE <9のフォールバック変数を提供するのではなく、ミックスイン内の各色/値をプログラムで更新して、RGBAバージョンとHexバージョンの両方を提供したいと思います。問題は、@ {@ var}が事後まで評価されないため、色として解析されないことです。
参照によって渡されないように変数をエスケープする方法はありますか?ここに出力を示すJSFiddle:http: //jsfiddle.net/Qj2cZ/