我在sass / scss中编写了以下代码。在这里,我面临一个问题,即当我试图循环并将值与\连接时。当我的值包含字母数字时,我会获得空间。请建议如何克服这种形式
SCSS =>> 输入:
$data: (
a:2766,
b:27B3,
d:1F48C
);
@each $value1, $value2 in $data {
.#{$value1}{
content: str-slice("\x",1,1)+($value2);
}
}
输出:
.a {
content: "\2766";
}
.b {
content: "\27B 3";
}
.d {
content: "\1F 48C";
}
答案 0 :(得分:0)
看起来这是Sass本身的一个错误。更新你的Sass,你的问题应该得到解决。
您可以在sass playground上看到这种情况。复制并粘贴您的sass代码,然后选择Sass v3.3.14
和Sass v3.4.21
(或任何更晚/更新),您将看到差异。 :)
编辑:
要在开头添加\x
,您可以这样做:
SCSS(Sass v3.4.21):
$data: (
a: 2766,
b: 27B3,
d: 1F48C
);
@each $value1, $value2 in $data {
.#{$value1}{
content: str-insert(#{$value2}, "\\x", 1);
}
}
CSS输出:
.a {
content: \x2766;
}
.b {
content: \x27B3;
}
.d {
content: \x1F48C;
}
str-insert将一个字符串放在其他字符串中。 \\
中的\\x
转义为单\x
。哦,作为参考说明,sass中的第一个字符是1
,而不是0
。