2011全面兼容IE6/IE7/IE8/FF的CSS HACK写法

发表时间:2011-04-30 09:25:32

设计师最大的麻烦就是浏览器市场混乱,设计的页面兼容完这个浏览器还得兼容那个浏览器,本来ie6跟ff之间的兼容是很容易解决的。加上个ie7会麻烦点,ie8的出现就更头疼了,原来hack ie7的方法又不能用了,怎么办呢?

第一种方法:

还好,微软提供了这样一个代码:

  1. <meta http-equiv="x-ua-compatible" content="ie=7" /> 

把这段代码放到<head>里面,在ie8里面的页面解析起来就跟ie7一模一样的了,所以,基本上可以无视ie8,剩下的代码只需要这样写就可以了

  1. background:#ffc/*  对firefox有效*/ 
  2. *background:#ccc/* 对ie7有效 */ 
  3. _background:#000/* 只对ie6有效 */ 

解释一下吧:

firefox能解析第一段,后面的两个因为前面加了特殊符号“*”和“_”,firefox认不了,所以只认background:#ffc,看到的是黄色;

ie7前两短都能认,以最后的为准,所以最后解析是background:#ccc,看到的是灰色;

ie6三段都能认,而且“_”这个只有ie6能认,所以最后解析是_background:#000,看到的是黑色

阿门!已经是最简单和最好理解的写法了,如果你是google进来的,我可以很负责任的告诉你,这种方法是ok的,我测试过。

ie8的那段兼容7的代码我也测试过了,在我现在的windos 7 测试版所带的ie8是没问题的,以后ie8正式版出来还管不管用就不知道了。

ps:如果你发现按我这样写还是有问题的话,请查看一下你的html头,看看<head>之前的内容是不是这样的标准写法

 

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  2. <html xmlns="http://www.w3.org/1999/xhtml"> 

这个是现在比较规范的写法,如果你是用dreamweaver做页面的话,默认也是这种规范的,切记,非这种规范写法的,兼容性不能保证

第二种方法:

要求苛刻的朋友是不愿意在页面头部增加<meta http-equiv="x-ua-compatible" content="ie=7" />这样一句代码的,因为这样的结果是每个页面都得加。那么要想兼容这几个浏览器还真得想别的办法了。。今天抽出些时间,查阅大量资料,终于解决了这个问题了。

以下是兼容IE6/IE7/IE8/FF的写法,注意下面的顺序不可颠倒

  1. margin-bottom:40px;       /*ff的属性*/ 
  2. margin-bottom:140px\9;    /* IE6/7/8的属性 */ 
  3. color:red\0;              /* IE8支持 */ 
  4. *margin-bottom:450px;     /*IE6/7的属性*/ 

下面以一个实例的形式表现,大家可以运行代码查看一下效果

 

  1. <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  2. <html xmlns="http://www.w3.org/1999/xhtml"> 
  3. <head> 
  4. <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> 
  5. <title>2011最新全面兼容ie6,ie7,ie8,ff的CSS HACK写法</title> 
  6. <style type="text/css"> 
  7. #abc {  
  8.  border:2px solid #00f;     /*ff的属性*/  
  9.  border:2px solid #090\9;   /* IE6/7/8的属性 */  
  10.  border:2px solid #F90\0;     /* IE8支持 */  
  11.  _border:2px solid #f00;     /*IE6的属性*/  
  12.  }  
  13.  /*上下顺序不可以写错*/  
  14.  </style> 
  15. </head> 
  16. <body> 
  17. <div id="abc"> 
  18.   <ul> 
  19.     <li>FF下蓝边</li> 
  20.     <li>IE6下红边</li> 
  21.     <li>IE7下绿边</li> 
  22.     <li>IE8下黄边</li> 
  23.   </ul> 
  24. </div> 
  25. </body> 
  26. </html>   

 

------分割线---------------------------------------

Tags: IE CSS HACK 浏览器兼容 FF

留个脚印

点击我更换图片 (请输入验证码)

最新评论