そのためのパラメトリックミックスインを作成する必要があります。
.bg(@color){
background-color:@color;
}
その後、次のコードが機能します。
body {
.bg("white");
&.blue{ .bg("blue"); }
&.red { .bg("red"); }
&.abc { .bg(#bada55); }
}
変数を再割り当てしているため、実行していることは機能していません。これは完全に機能しますが、クラスに新しい値を書き込んでいません。(変数を再割り当てするたびに、LESSが新しいルールを作成したとしても、まったく意味がありません。)また、他のプログラミング言語と同様に、LESSにはスコープがあるため、LESSに到達するとbackground-color: @var;
@var
、値がwhite
割り当てられて作成されます。それに応じて支配します。次のように機能します(ただし、もちろん意味がありません)。
body {
@var: white;
&.blue{ @var: blue; background-color: @var;}
&.red { @var: red; background-color: @var;}
&.abc { @var: #bada55; background-color: @var;}
background-color: @var;
}