代替 Chris Eppstein 提到的作为 SASS 正在进行的工作的Map 数据结构之类的东西,我正在尝试实现类似的东西 - 将字符串映射到相应的十六进制值,该值将用于指定 CSS 的 unicode 字符内容属性。(我正在尝试重构一些字体图标 SASS 代码。)
目前我有一些基本的东西,比如:
/*icon1 --> \F000
icon2 --> \F001
icon3 --> \F002*/
@function u-char($name) {
@if $name == icon1 {
@return "000";
} @else if $name == icon2 {
@return "001";
} @else if $name == icon3 {
@return "001";
}
}
@mixin icon-class($name) {
...
content: "\f#{u-char($name)}";
...
}
但我实际上是在尝试映射大量字符,所以这种方法很费力。我希望能够做类似的事情:
@function u-char($name) {
$i: 0;
$itemList: item1, item2, item3;
@each $currItem in $itemList {
@if $name == item1 {
@return i-to-hex-str($i);
}
$i: $i + 1;
}
}
在 SASS 中有什么可以做整数到十六进制字符串的转换吗?还有另一种优雅的方法吗?