IE6里样式表不起作用解决方法 - TOMMYHU - 专注互联网开发及运营技术,提供相关资料及软件下载,奇趣网络时事评论!
Sep 27

IE6里样式表不起作用解决方法 不指定

IE6里样式表不起作用解决方法

做网站的朋友经常发现我们写的html页面引用外部css文件的时候在IE7,IE8和FF中能正常作用,即能正常显示,可在IE6中却完全没有作用到,即css文件里的样式根本未被解析到我们的html页面,这是什么原因?开始我把css文件里头的所有样式都复制粘贴到html页面中的中,这样做以后,IE6、IE7、FF都能正常显示了,这也就说明外部的css文件应该是存在什么问题了,为什么在IE6中出现这问题,而在IE7和FF中却没有?IE6对页面的编码有严格的要求,我查看了下,朋友发过来的css文件用的编码是GB2312的,而html文件用的是utf-8的,原来问题就出在这里了,我把css文件内容的编码用ed(或记事本另存为)改成utf-8,再次测试的时候,一切恢复正常了,还有就是我发现朋友的css文件里面用中文注释,严重建议朋友们不要在css文件里面用中文来注释,这样也会引起编码的问题,下面是引用引用《IE6因为编码问题无法正确解析CSS文件》片断:

网页采用了 UTF-8 编码格式,这本来没有问题,问题是外部 CSS 文件默认是 ANSI 编码,并没有保存为 UTF-8 格式。可能你会发现在一般情况下这样也是没有问题的,然而当 CSS 文件中包含有中文注释时就可能不尽如人意了!估计是 IE6 版本以下的浏览器在解析这个 CSS 文件时因为编码问题而无法正确解析,所以才会发生 CSS 在 IE6 下不起作用的情况。看来微软已注意到这个问题,在 IE7 中把它修复了。但是用 IE6 的人还是不少。因此这个问题需要解决:
方法一:把 CSS、JS 和网页文件都统一保存为 UTF-8 格式。
方法二:去掉 CSS、JS 中的中文注释,或者改为英文。

使用asp.net当把以前使用过的UTF-8编码的页面改为GB2312编码时,也会出现这种现象,并且我们用记事本将HTML和CSS文件都保存为ANSI的编码格式仍然不能解决问题,这时候可以在页面头部加上页面文件类型和响应编码信息:<%@ Page Language="C#" ContentType="text/html" ResponseEncoding="gb2312" %>,标签里加上,刷新,OK了。

后来经研究,发现这是IE6不支持黑体的BUG,把黑体去掉或者改成“宋体”问题同样得到解决。

▲返回顶部

互联网开发网友 Email Homepage
2011/05/13 17:14
This article is really great, strong support.
互联网开发网友 Email Homepage
2010/09/28 10:43
IE6可以去死了!
Pages: 1/1 First page 1 Final page
Add a comment

Nickname

emotemotemotemotemotemotemotemotemotemotemotemotemotemotemotemot