2017-09-23 110 views
0

我遇到問題,當我的Sass編譯我的.scss文件時。看來,Sass編譯«特殊字符,並將其轉換爲另一個┬½。但我想保留我的«在我的.css文件中。Sass編譯和轉換特殊字符

有沒有人知道如何解決這個問題? 或者,也許誰知道如何問Sass不編譯特定行?

這裏是我的scss代碼:

/* SCSS file sample */ 
&::before{ 
    content: "«"; 
} 

&::after{ 
    content: "»"; 
} 

在這裏,它是如何編譯它:

/* Compiled CSS */ 
.textBox--quotation::before { 
    content: "«"; 
} 
.textBox--quotation::after { 
    content: "┬╗"; 
} 

謝謝您的幫助。

+0

你用什麼編譯器?我想這是你的編譯器的一個特定問題。 [這一個](https://jsfiddle.net/2u43fhuo/)的作品。以及[this](https://www.sassmeister.com)。 – voloshin

+0

我正在使用Sass 3.5.1(Bleeding Edge) – Pilou

+0

非常奇怪的行爲。因爲我之前用'gulp-sass'和'compass.app'來做同樣的事情很多次,而且都是完美的。也許,你使用非'utf8'字符編碼? – voloshin

回答

1

使用CSS相當於你的特殊字符:

\00AB (按轉化here

div:after { 
 
    content: "\00AB"; 
 
}
<div>hello </div>

+1

不錯!謝謝。它完美的作品。 :) – Pilou

0

我可以在Windows薩斯3.5.1(前沿證實了這一點)。

當文件編碼爲UTF-8 with BOM時,這種情況不會發生。只有當文件編碼沒有BOM(這基本上意味着,你編碼UTF-8,但你沒有告訴任何人)。我的猜測是:Sass會將文件解析爲普通的ANSI,從而看到這兩個字符。

有趣的事情:當文件與BOM編碼,青菜中刪除,並添加註釋 @charset "UTF-8"; 沒關係,它總是這個