全面兼容IE6、IE7、IE8、Firefox的CSS HACK方法

开发 前端
目前浏览器市场的混乱,给设计师造成很大的麻烦,本文向大家描述一下DIV+CSS=2010全面兼容IE6/IE7/IE8/FF的CSS HACK,希望对你的学习有所帮助。

本文和大家重点讨论一下DIV+CSS=2010全面兼容IE6/IE7/IE8/Firefox的CSS HACK,这里主要有两种方法解决IE兼容性问题,请看下文详细介绍。

DIV+CSS=2010全面兼容IE6/IE7/IE8/Firefox的CSSHACK

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

第一种方法:

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

  1. <metahttp-equivmetahttp-equiv="x-ua-compatible"content="IE=7"/> 
  2.  

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

  1. background:#Firefoxc;/*对Firefox有效*/  
  2. *background:#ccc;/*对IE7有效*/  
  3. _background:#000;/*只对IE6有效*/ 

解释一下吧:

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

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

IE6三段都能认,而且“_”这个只有IE6能认,所以最后解析是_background:#000,看到的是黑色
已经是最简单和最好理解的写法了,如果你是google进来的,我可以很负责任的告诉你,这种方法是ok的,我测试过。

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

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

  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"  
  2.  
  3. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  4. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"> 
  5.  

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

第二种方法:

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

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

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

【编辑推荐】

  1. DIV+CSS兼容IE6、IE7、Firefox方法探究
  2. 探究IE8与IE7具体功能中窗口功能按钮的变化
  3. IE6 IE7 IE8三个版本的CSS兼容速查手册
  4. 探秘IE8 JavaScript功能超乎想象
  5. 技术前沿 一段JS代码轻松解决IE6-IE8的兼容性问题

 


 

责任编辑:佚名 来源: hi.baidu.com
相关推荐

2010-09-16 13:17:31

IE6IE7IE8

2011-06-03 15:41:27

CSS HACK

2010-09-16 13:33:47

IE6IE7IE8

2010-08-20 08:45:55

IE6IE7IE8

2010-08-18 10:24:51

IE6IE7IE8

2010-08-20 09:33:22

IE6IE7IE8

2010-09-06 15:06:29

IE6IE7Firefox

2010-09-15 11:08:48

CSSIE6IE7

2010-08-18 10:37:16

IE6IE7IE8

2009-08-13 10:12:07

IE的CSS Bug

2010-08-18 15:22:28

IE6IE7Firefox

2010-08-20 13:15:54

IE6IE7IE8

2010-08-27 15:38:21

兼容IE6IE7

2010-08-20 12:45:41

IE6IE7Firefox

2010-08-27 15:08:10

FirefoxIE6IE7

2010-08-19 10:56:55

JSIE6IE7

2010-09-08 16:59:48

CSS兼容IE7IE8

2010-08-20 11:01:10

IE7IE8CSS

2010-08-17 16:27:52

IE6IE7IE8

2010-08-30 09:35:35

IE6IE7Firefox
点赞
收藏

51CTO技术栈公众号