(转)写的html页面引用外部css文件的时候在IE7,IE8和FF中能正常作用,即能正常显示,可在IE6中却完全没有作用到,即css文件里的样式根本未被解析到我们的html页面,这是什么原因?

开始把css文件里头的所有样式都复制粘贴到html页面中的<style></style>中,这样做以后,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" %>,<head>标签里加上<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />

刷新,OK了。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值