網頁採用了UTF-8 編碼格式,這本來沒有問題,問題是外部CSS 檔案預設是ANSI 編碼,並沒有儲存為UTF-8 格式。可能你會發現在一般情況下這樣也是沒有問題的,然而當CSS 文件中包含有中文註釋時就可能不盡如人意了!估計是IE6 版本以下的瀏覽器在解析這個CSS 檔案時因為編碼問題而無法正確解析,所以才會發生CSS 在IE6 下不起作用的情況。看來微軟已註意到這個問題,在IE7 中已經修復了它。但是用IE6 的人還是不少。因此這個問題需要解決:
方法一:把CSS、JS 和網頁檔案都統一儲存為UTF-8 格式。
方法二:去掉CSS、JS 中的中文註釋,或改為英文。
上文為IE6因為編碼問題無法正確解析CSS檔案
有時候我們發現我們寫的html頁面引用外部css檔案的時候在IE7和FF中能夠很好的被解析,即能正常顯示,可在IE6中卻完全沒有被解析,也就是css檔案裡的樣式根本沒應用到我們的html頁面,這是怎麼回事?開始我把css檔案裡頭的所有樣式都複製貼上到html頁面中的<style></style>中,這樣做以後,IE6、IE7、FF都能正常顯示了,這也就說明外部的css檔案應該是存在什麼問題了,為什麼在IE6出現這問題,而在IE7和FF中卻沒有?網路上google了下,發現是IE6中對頁面的編碼有嚴格的要求,我查看了下,朋友發過來的css文件用的編碼是GB2312的,而html文件用的是utf-8的,原來問題就出在這裡了,我把css檔案內容的編碼用ed改成utf-8,再次測試的時候,一切恢復正常了,還有就是我發現朋友的css檔案裡面用中文註釋,嚴重建議朋友們不要在css檔裡面用中文來註釋,這樣也會造成編碼的問題。