Less 动态创建新变量

Less 动态创建新变量,less,css-preprocessor,Less,Css Preprocessor,我想知道是否有可能在运行时创建新变量 现在我有一套颜色,比如: @red: #E74C3C; @orange: #E67E22; @yellow: #FFCD02; ... 我想用前缀dark或light动态创建它们的着色版本。像这样: @dark-red: darken(@red); @light-red: lighten(@red); @dark-orange: darken(@orange); ... 我已经尝试了for-each循环,并用创建了几个类,但这不是我的目标

我想知道是否有可能在运行时创建新变量

现在我有一套颜色,比如:

@red:    #E74C3C;
@orange: #E67E22;
@yellow: #FFCD02;
...
我想用前缀dark或light动态创建它们的着色版本。像这样:

@dark-red:    darken(@red);
@light-red:   lighten(@red);
@dark-orange: darken(@orange);
...
我已经尝试了for-each循环,并用创建了几个类,但这不是我的目标。我想创建新的less变量

我认为这是正确的,但事实并非如此:

@colors: red, orange, yellow, ...;

.for(@colors); .-each(@name) {   
    @dark-@{name}:     darken(@@name, 10%); // aswell @dark-@@name | @dark-~"@{name}"
    @light-@{name}:    lighten(@@name, 10%);
}
这是否可能,或者我是否应该找到其他方法


编辑:
好吧,我试着用java重新创建我的解决方案/想法,并意识到,它可能比我想象的要复杂得多。很抱歉,我对less及其语法相当陌生。

可能与see ALLOW:重复,就我所了解的所提供的链接而言,他们正在创建新的类而不是less变量。不幸的是,这不是我想要的。你不能在更少的时间里动态地创建新的更少的变量