1

我正在尝试生成一个动态调色板,以使用多个站点,这些站点在同一范围内具有不同数量的品牌颜色。我有一个 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;

没有任何运气-这甚至可能吗,还是我走得太远了?真的很感激任何帮助——即使这是“不可能的”。

4

0 回答 0