2011-02-17 105 views
29

編碼字符後,我現在用的是下面的CSS,這似乎是工作:但是CSS:在內容

a.up:after{content: " ↓";} 
a.down:after{content: " ↑";}  

的字符可似乎沒有像這樣編碼,作爲輸出是文字,顯示實際字符串:

a.up:after{content: " ↓";} 
a.down:after{content: " ↑";} 

如果我不能對其進行編碼,感覺我應該使用jQuery的東西,例如.append(),爲支持的編碼。有任何想法嗎?

回答

61

你需要提供兩種文字本身(如你這樣做),或它們的UTF-8轉義序列,而不是HTML實體使用編碼的Unicode字符content

a.up:after { content: " \2193"; } 
a.down:after { content: " \2191"; } 
+1

哦,這很有用,真棒謝謝你。出於興趣,你在哪裏找到UTF-8轉義序列。我從來沒有見過這樣的事情。 (等待接受答案的時間限制) – theorise 2011-02-17 15:06:09

+3

@danixd:在Windows上有字符映射表(可在所有程序>附件>系統工具中找到)。您也應該可以通過搜索Web來查找UTF-8字符及其轉義表。 – BoltClock 2011-02-17 15:08:24

10

你爲什麼要編碼那些人物呢?請記住,您正在編寫CSS,而不是HTML。您的代碼:

a.up:after{content: " ↓";} 
a.down:after{content: " ↑";} 

是完全有效的,只要你使用UTF-8編碼的文件併發送相應的頭:讓有

Content-Type: text/css; charset=utf-8 

編碼字符只在HTML中使用內容和標籤之間沒有歧義。因此,您將<編碼爲&lt;,以便瀏覽器不認爲它是標籤的開頭。諸如&darr;之類的東西僅僅是那些不知道如何使用utf-8(或者不能,不管出於什麼原因)的商品:)。