我正在尝试生成一个动态调色板,以使用多个站点,这些站点在同一范围内具有不同数量的品牌颜色。我有一个 mixin,可以创建我需要的颜色范围,如下所示:
.generate-colors(6); // create six evenly spaced colors
.generate-colors(@n, @i: 1) when (@i =< @n) {
@range: 160;
@gap: @range / @n;
// output the background color rule
.bgcol-@{i} {
background-color: hsv(160 + ((@i - 1) * @gap), 30%, 75%);
}
// output text colour rule
.col-@{i} {
color: hsv(160 + ((@i - 1) * @gap), 30%, 75%);
}
.generate-colors(@n, (@i + 1));
}
我遇到的问题是让这个生成 LESS 参数很有用,这样我就可以将这些颜色重新用于边框等。
如果我不使用 mixins,我会这样做:
@col-1: red;
@col-2: green; //etc
但我很想让 mixin 为我生成它。我在mixin中尝试过这样的事情:
~"@col-{n}": @c;
没有任何运气-这甚至可能吗,还是我走得太远了?真的很感激任何帮助——即使这是“不可能的”。