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


      

    写的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,把黑体去掉或者改成“宋体”问题同样得到解决。

  • 相关阅读:
    博文视点大讲堂第20期——Windows 7来了
    程序员如何缓解“电脑病”
    HQL中In的问题详解
    Tomcat、Websphere和Jboss类加载机制
    Hibernate锁机制悲观锁和乐观锁
    软件项目开发典型风险一览过程篇
    XPath实例教程
    CMMI的含义及重点
    自动化测试工具selenium使用介绍
    深入DNS域名解析服务原理
  • 原文地址:https://www.cnblogs.com/JQSY/p/5540091.html
Copyright © 2020-2023  润新知