网页采用了 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文件里面用中文来注释,这样也会引起编码的问题。