我更少的代码是这样的:
body {
@var: white;
&.blue { @var: blue; }
&.red { @var: red; }
&.abc { @var: #badass; }
background-color: @var;
}
我希望是,如果body
有类.abc
的变量的值@var
是#badass
,如果你有一流.blue
值是blue
等等。 但是,这不会发生什么变化,该变量的值不改变企业自主遗体类。
我更少的代码是这样的:
body {
@var: white;
&.blue { @var: blue; }
&.red { @var: red; }
&.abc { @var: #badass; }
background-color: @var;
}
我希望是,如果body
有类.abc
的变量的值@var
是#badass
,如果你有一流.blue
值是blue
等等。 但是,这不会发生什么变化,该变量的值不改变企业自主遗体类。
你需要创建一个参数混入:
.bg(@color){
background-color:@color;
}
然后将下面的代码将工作:
body {
.bg("white");
&.blue{ .bg("blue"); }
&.red { .bg("red"); }
&.abc { .bg(#bada55); }
}
你在做什么是不工作的,因为你是重新分配变量 - 这完美的作品,但不包括写入新值类。 (这将使得完全没有意义,如果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;
}