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

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

第一种方法:html

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

<meta http-equiv="x-ua-compatible" content="ie=7" />
把这段代码放到<head>里面,在ie8里面的页面解析起来就跟ie7如出一辙的了,因此,基本上能够无视ie8,剩下的代码只须要这样写就能够了浏览器

background:#ffc; /*  对firefox有效*/
*background:#ccc; /* 对ie7有效 */
_background:#000; /* 只对ie6有效 */
解释一下吧:测试

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

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

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

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

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

ps:若是你发现按我这样写仍是有问题的话,请查看一下你的html头,看看<head>以前的内容是否是这样的标准写法

XML/HTML代码
  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.   

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

第二种方法:

要求苛刻的朋友是不肯意在页面头部增长<meta http-equiv="x-ua-compatible" content="ie=7" />这样一句代码的,由于这样的结果是每一个页面都得加。那么要想兼容这几个浏览器还真得想别的办法了。早些天本站发布了一篇《完美兼容ie6,ie7,ie8以及firefox的css透明滤镜》,可能当时测试的疏忽,IE8的兼容性没有解决好,好多朋友回复说用不了。今天抽出些时间,查阅大量资料,终于解决了这个问题了。

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

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

下面以一个实例的形式表现,你们能够运行代码查看一下效果

XML/HTML代码
  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></title>  
  6. <style type="text/css">  
  7. #abc {   
  8.  border:2px solid #00f;     /*ff的属性*/   
  9.  border:2px solid #0909;   /* IE6/7/8的属性 */   
  10.  border:2px solid #F90;     /* 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.     <li>转载请注明来源标准之路<a href=http://www.rainweb.cn>www.rainweb.cn</a></li>  
  24.   </ul>  
  25. </div>  
  26. </body>  
  27. </html>
相关文章
相关标签/搜索