Colors 如何使颜色名称在手写笔中不自动转换为十六进制值?

Colors 如何使颜色名称在手写笔中不自动转换为十六进制值?,colors,stylus,Colors,Stylus,我正在使用手写笔预处理器迭代for循环。我需要颜色类名和颜色值,我得到的十六进制值很好,但我的类名并不理想 $colors = red blue green orange; for item in $colors { .{"" + item} { color: item; } } 我把它编译成: .#f00 { color: #f00; } .#00f { color: #00f; } .#008000 { color: #008000; } .#f

我正在使用手写笔预处理器迭代for循环。我需要颜色类名和颜色值,我得到的十六进制值很好,但我的类名并不理想

$colors = red blue green orange;
for item in $colors {
    .{"" + item} {
        color: item;
    }
}
我把它编译成:

.#f00 {
  color: #f00;
}
.#00f {
  color: #00f;
}
.#008000 {
  color: #008000;
}
.#ffa500 {
  color: #ffa500;
}
但我的预期结果是:

.red {
   color: #f00; // or red
}
.blue { 
   color: #00F // or blue
}
// .. etc
我可以想象,有一个功能让名字保留下来


谢谢你的帮助

如果可以将原始颜色列表转换为一组字符串,则

$colors = 'red' 'blue' 'green' 'orange';
for item in $colors {
    .{item} {
        color: convert(item);
    }
}
屈服

.red {
  color: #f00;
}
.blue {
  color: #00f;
}
.green {
  color: #008000;
}
.orange {
  color: #ffa500;
}

如果将convert更改为unquote,十六进制值将替换为列表中提供的名称。

String nice没有想到这一点。感谢您提供的带有取消报价功能的提示。