当我使用sass 3.4.1将fontawesome.scss编译为css文件时
$fa-var-music: "\f001";
.#{$fa-css-prefix}-music:before { content: $fa-var-music; }
Run Code Online (Sandbox Code Playgroud)
它被编译为
.fa-music:before {
content: "?";
}
Run Code Online (Sandbox Code Playgroud)
由于我在我的项目中主要使用Win1252编码,我想知道在css文件中保留"\ f001"的方法是什么.为什么SASS重写?
我正在尝试在编译*.scss文件后生成一些unicode字符.
举个例子,我有以下(SCSS):
.element:after {
content: "\a0";
}
Run Code Online (Sandbox Code Playgroud)
编译文件时,它输出以下(CSS):
.element:after {
content: "\\a0";
}
Run Code Online (Sandbox Code Playgroud)
注意额外的不需要的反斜杠(\).
我在这里尝试了解决方案:Sass:unicode转义没有保存在.css文件中,这表明引入了以下功能:
@function unicode($str) {
@return unquote("\"")+unquote(str-insert($str, "\\", 1))+unquote("\"")
}
Run Code Online (Sandbox Code Playgroud)
像这样使用它(SCSS):
.element:after {
content: unicode("a0");
}
Run Code Online (Sandbox Code Playgroud)
但是,这会产生以下(CSS)
.element:after {
content: "\\" ")+unquote(str-insert($str, " \\\\ ", 1))+unquote(" \\ "";
}
Run Code Online (Sandbox Code Playgroud)
请注意,它甚至没有按预期调用该函数.这是为什么?
我在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>
Run Code Online (Sandbox Code Playgroud)
不要在SCSS中使用unicodes.相反,在HTML中使用Font Awesome(在CSS文件中保留Font Awesome).