Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/design-patterns/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
SASS编译保留符号_Sass_Font Awesome - Fatal编程技术网

SASS编译保留符号

SASS编译保留符号,sass,font-awesome,Sass,Font Awesome,当我使用sass 3.4.1将fontawesome.scss编译为css文件时 $fa-var-music: "\f001"; .#{$fa-css-prefix}-music:before { content: $fa-var-music; } 它被编译为 .fa-music:before { content: ""; } 由于我在项目中主要使用Win1252编码,我想知道如何在css文件中保留“\f001”。为什么SASS要重写?摘自SASS 3.4.0: Sass现在遵循CS

当我使用sass 3.4.1将fontawesome.scss编译为css文件时

$fa-var-music: "\f001"; 
.#{$fa-css-prefix}-music:before { content: $fa-var-music; }
它被编译为

.fa-music:before {
  content: "";
}
由于我在项目中主要使用Win1252编码,我想知道如何在css文件中保留“\f001”。为什么SASS要重写?

摘自SASS 3.4.0: Sass现在遵循CSS语法级别3规范来确定样式表的编码。此外,它现在只发出UTF-8 CSS,而不尝试匹配源编码

现在没办法用老方法了

论SASS回购


对我来说,回滚到SASS 3.3.14修复此问题

如果您使用Gulp编译CSS,您可以安装此Gulp插件,它将自动为您修复此问题。无需更改Sass代码

var-sass=require('gulp-sass');
var sassUnicode=require('gulp-sass-unicode');
gulp.task('sass',function(){
gulp.src('style.scss'))
.pipe(sass())

.pipe(sassUnicode())/\f001会在代码点f001(十六进制)处生成字符,这在Windows-1252中无效。您要生成的字符是什么?不知道原因,但值得注意的是,Sass在执行此操作时也会注入字符集信息:
@charset“UTF-8”
(请参阅:)@ljacqu我自己不想生成字符。我想使用font awesome提供的字符。我担心的是,当文件包含unicode字符时,某些浏览器可能无法正确呈现fa符号。因为SASS正确输出
@charset“UTF-8”;
在第一行,只要生成的文件没有与其他css文件合并,并且不是第一个,就没有真正的问题。我只是简单地做了
$fatag:“\f02b”
(添加引号),这就为我解决了问题。无需恢复到3.3.14。我使用的是4.2.0。我添加了@charset“UTF-8”在_variables文件的顶部,所有的UTF/PUA字符代码都已经在双引号中了,但我仍然得到了相同的时髦形状。有人有任何进一步的信息吗?顺便说一句,我运行了一个旧版本的yui压缩器。同时它也发生了变化。
@charset“UTF-8”
现在被拉到组合压缩css文件的最顶端,因此被正确解析和使用。
var sass = require('gulp-sass');
var sassUnicode = require('gulp-sass-unicode');

gulp.task('sass', function(){
  gulp.src('style.scss')
    .pipe(sass())
    .pipe(sassUnicode()) // << This line is what does the magic
    .pipe(gulp.dest( "css/" ));
});