Java SASS使用反斜杠(\)在unicode内容前面加上前缀 问题

Java SASS使用反斜杠(\)在unicode内容前面加上前缀 问题,java,css,unicode,sass,jruby,Java,Css,Unicode,Sass,Jruby,在编译*.scss文件后,我试图生成一些unicode字符 例如,我有以下(SCS): 编译文件时,它会输出以下内容(CSS): 请注意多余的反斜杠(\) 尝试的解决方案#1 我在这里尝试了解决方案:,建议引入以下函数: @function unicode($str) { @return unquote("\"")+unquote(str-insert($str, "\\", 1))+unquote("\"") } 并像这样使用它(SCSS): 但是,这会产生以下内容(CSS) 注意,

在编译*.scss文件后,我试图生成一些unicode字符

例如,我有以下(SCS):

编译文件时,它会输出以下内容(CSS):

请注意多余的反斜杠(\)

尝试的解决方案#1 我在这里尝试了解决方案:,建议引入以下函数:

@function unicode($str) {
    @return unquote("\"")+unquote(str-insert($str, "\\", 1))+unquote("\"")
}
并像这样使用它(SCSS):

但是,这会产生以下内容(CSS)

注意,它甚至没有按预期调用函数。为什么呢

项目详情 我在Maven中使用这些库:

<dependency>
    <groupId>net.jawr</groupId>
    <artifactId>jawr-core</artifactId>
    <version>3.9</version>
</dependency>

<dependency>
    <groupId>net.jawr.extensions</groupId>
    <artifactId>jawr-spring-extension</artifactId>
    <version>3.9</version>
</dependency>

<dependency>
    <groupId>com.darrinholst</groupId>
    <artifactId>sass-java-gems</artifactId>
    <version>3.4.20.0</version>
</dependency>

<dependency>
    <groupId>org.jruby</groupId>
    <artifactId>jruby-core</artifactId>
    <version>9.1.5.0</version>
</dependency>

<dependency>
    <groupId>org.jruby</groupId>
    <artifactId>jruby-stdlib</artifactId>
    <version>9.1.5.0</version>
</dependency>

net.jawr
jawr堆芯
3.9
net.jawr.extensions
jawr弹簧撑杆
3.9
达林霍斯特酒店
sass java gems
3.4.20.0
org.jruby
jruby内核
9.1.5.0
org.jruby
jruby标准数据库
9.1.5.0
临时解决办法
不要在SCS中使用Unicode。相反,在HTML中使用字体Awesome(在CSS文件中保留字体Awesome)。

我在尝试使用自定义图标字体时遇到了同样的问题。我找到的解决方案是创建一个mixin,如下所示:

@mixin class-for-icon($name, $code) {
    .icon-#{$name}::before {
        content: unquote("\"\\#{$code}\"");
    }
}
@include class-for-icon('myIcon', 'e1ff');

/* generates */

.icon-myIcon::before {
    content: "\e1ff";
}
然后我可以这样使用它:

@mixin class-for-icon($name, $code) {
    .icon-#{$name}::before {
        content: unquote("\"\\#{$code}\"");
    }
}
@include class-for-icon('myIcon', 'e1ff');

/* generates */

.icon-myIcon::before {
    content: "\e1ff";
}
我使用node sass 4.5.3将我的sass文件编译成css,效果很好(目前在一些项目的生产中使用它)


希望这有帮助

在Sassmester中,您的两个代码运行良好:谢谢,很高兴知道这一点。我在JRuby上本地运行SASS版本3.4.20(我想),然后在Spring应用程序中通过JAWR servlet提供该文件。所以我想有很多地方可能会出问题。我将试着看一下中间阶段。看看我有没有发现什么。FWIW,我在使用grunt sass时遇到了同样的问题。问题在于引导程序面包屑,它有
内容:“#{$breadcrumb separator}\00a0”
$breadcrumb separator:“/”!违约其结果为
内容:“/\\00a0”
:(
@mixin class-for-icon($name, $code) {
    .icon-#{$name}::before {
        content: unquote("\"\\#{$code}\"");
    }
}
@include class-for-icon('myIcon', 'e1ff');

/* generates */

.icon-myIcon::before {
    content: "\e1ff";
}