私はこの質問がかなり古いことを知っています、しかしこの投稿に来るそれらのために私の答えは多分助けることができます
これを何に使用したいかはよくわかりませんが、私の提案の1つは@ScottSの回答に基づいています。私の現実の世界では、いくつかのブランドを表示し、各ブランドが独自のテキストの色や背景などを持っているWebアプリを作成する必要があります...そこで、私はLESSでこれを達成する方法を追い始めました。 SASSで簡単に実行でき、結果は次のとおりです。
以下
// Code from Seven Phase Max
// ............................................................
// .for
.for(@i, @n) {.-each(@i)}
.for(@n) when (isnumber(@n)) {.for(1, @n)}
.for(@i, @n) when not (@i = @n) {
.for((@i + (@n - @i) / abs(@n - @i)), @n);
}
// ............................................................
// .for-each
.for(@array) when (default()) {.for-impl_(length(@array))}
.for-impl_(@i) when (@i > 1) {.for-impl_((@i - 1))}
.for-impl_(@i) {.-each(extract(@array, @i))}
// Brands
@dodge : "dodge";
@ford : "ford";
@chev : "chev";
// Colors
@dodge-color : "#fff";
@ford-color : "#000";
@chev-color : "#ff0";
// Setting variables and escaping than
@brands: ~"dodge" ~"ford" ~"chev";
// Define our variable
.define(@var) {
@brand-color: '@{var}-color';
}
// Starting the mixin
.color() {
// Generating the loop to each brand
.for(@brands); .-each(@name) {
// After loop happens, it checks what brand is being called
.define(@name);
// When the brand is found, match the selector and color
.brand-@{name} & {
color: @@brand-color;
}
}
}
.carColor {
.color();
}
結果は次のようになります。
CSS
.brand-dodge .carColor {
color: "#fff";
}
.brand-ford .carColor {
color: "#000";
}
.brand-chev .carColor {
color: "#ff0";
}
これは非常にトリッキーで、必要なものを取得するためにいくつかの要素を使用する必要がありました。最初に、Seven Phase Maxが提供するミックスインのセットを使用しました。ここで見つけることができます。それよりも、@ScottSの答えは私のパズルに欠けていた部分でした。 ...これが、別の変数の一部となる一連の変数を作成し、より動的な少ないファイルを作成する必要があるあなたや他の人に役立つことを願っています。
私のコード全体をコピーして、http://lesstester.com/でテストできます。