交互设计中心-72色

交互设计中心 | 用户体验 | 优化

CSS也有编码差异 导致IE6不能正常解析CSS文件

2009年3月20日 | 分类:DIV+CSS | 评论:2 | 引用:0 | | Tags:编码  

在做div+css网页设计的时候突然IE6不能正常解析CSS文件,解决半天也不得其解,于是上网去找老师,最后在网上找到了一篇好的文章,且解决了问题,特发出来为大家欣赏,首先谢谢本文作者。

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

Share
« CSS经验总结出非常有用的八个技巧背景图片还是页面插入的图片都可以上下居中了 »
  1. recole头像
    recole 2009-5-26 20:13:20 1

    IE6也不能识别以下划线开头的选择符的,也郁闷中...

    72se 于 2010-1-12 13:21:45 回复
    IE6 怎么会不识别呢,不会吧


  1. 一路彷徨头像
    一路彷徨 2010-6-15 21:13:05 2

    其实在网站开发中,不管是前端还是后台,文件编码的一致都是非常重要的·····




◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。