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