zoukankan      html  css  js  c++  java
  • 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,把黑体去掉或者改成“宋体”问题同样得到解决。

  • 相关阅读:
    Codeforces 691A Fashion in Berland
    HDU 5741 Helter Skelter
    HDU 5735 Born Slippy
    HDU 5739 Fantasia
    HDU 5738 Eureka
    HDU 5734 Acperience
    HDU 5742 It's All In The Mind
    POJ Euro Efficiency 1252
    AtCoder Beginner Contest 067 C
    AtCoder Beginner Contest 067 D
  • 原文地址:https://www.cnblogs.com/xiongwei/p/5754805.html
Copyright © 2011-2022 走看看