zoukankan      html  css  js  c++  java
  • CSS文件添加 @charset "utf8"; 可能会引起样式在IE6下失效

    今天在本地调试好页面在IE6,7,8,及火狐的效果后,上传服务器,上传以后,发现页面在IE7,8,火狐下是正常的,在IE6下串位。
     
    问题发生以后,我在本地又测试了一下IE6的效果,一切正常,可是服务器上的页面缺是不正常,起初怀疑是页面JS和<meta>标签不统一的原因造成的,待我统一了JS和<meta>标签后,问题依然出现。
     
    于是我把服务器上的页面在IE6里另存为下载了下来,下载以后,我突然发现页面的CSS文件的中文注释语句都变成了乱码。这就是页面在IE6下不能正常显示的原因,因为页面的CSS文件由于注释语句变成乱码的原因无法正常读取。
     
     
    这里我发现了CSS文件与HTML文件的语言编码不统一的问题,HTML文件的语言编码是<meta http-equiv="Content-Type" content="text/html; charset=gb2312">
    而CSS文件的语言编码是@charset "utf-8";,这就造成了浏览器在读取CSS文件时,无法读取注释语句的问题。(注意:不是单指注释语句的问题,如果有中文等字符,也会如此。如:font-family: "宋体";)
     
    我之前在网络上见过一个人说,“CSS文件只能设置成UTF-8,而不能设置成GB2312,如果设置成GB2312,会造成错误”,所以我才将CSS的语言设置为  @charset "utf-8";,但是如果这样写出来,而HTML又是GB2312的话,就会造成CSS读取不出来的问题。
     
    所以解决办法是删除@charset "utf-8";这个声明语句,貌似删除以后,CSS的编码依然是UTF-8,但是页面读取会正常。看来,以后在编写CSS文档的时候,还是不添加@charset "utf-8";,这个声明语句比较安全!
  • 相关阅读:
    (简单) POJ 3414 Pots,BFS+记录路径。
    (简单) POJ 3087 Shuffle'm Up,枚举。
    (简单) POJ 3126 Prime Path,BFS。
    (简单) POJ 1426 Find The Multiple,BFS+同余。
    (简单) POJ 3279 Fliptile,集合枚举。
    (简单) POJ 1278 Catch That Cow,回溯。
    (简单) POJ 2251 Dungeon Master,BFS。
    (简单) POJ 1321 棋盘问题,回溯。
    回溯---输出二叉树中所有从根到叶子的路径
    回溯---在矩阵中寻找字符串
  • 原文地址:https://www.cnblogs.com/zlmlovem/p/2771033.html
Copyright © 2011-2022 走看看