是否有解决方法或任何其他方法可以使其在 Sass 3.4 + 上工作
@mixin icon ($name, $code) {
.#{$name}::before {
content: str-slice("\x",1,1) + $code;}
}
@include icon('test', 4556);
代码应该输出
.test::before { 内容:“\4556”; }
但在 3.4+ 上\
斜杠被删除并输出为
.test::before { 内容:“x4556”; }
Thanks
你偶然发现了一个Sass 中当前有争议的转义字符问题。目前看来,Sass 要么添加太多字符,要么最终将 unicode 字符放入输出 css 中。
UPDATE:
@mixin icon ($name, $code) {
$withslash: "\"\\#{$code}\"";
.#{$name}:before {
content: unquote($withslash);
}
}
@include icon('test', '4556');
outputs
.test:before {
content: "\4556";
}
http://sassmeister.com/gist/04f5be11c5a6b26b8ff9
显然,这种方法的缺点是它依赖于使用转义字符做奇怪的事情,并欺骗 Sass 取消引用可能格式错误的字符串。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)