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

标签: ie6 ie7 ie8 | 发表时间:2014-02-27 20:22 | 作者:yuexiahandao
出处:http://www.iteye.com
本文和大家重点讨论一下DIV+CSS=2010全面兼容IE6/IE7/IE8/Firefox的CSS HACK,这里主要有两种方法解决IE兼容性问题,请看下文详细介绍。

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

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

第一种方法:

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

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

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

background:#Firefoxc;/*对Firefox有效*/ 
*background:#ccc;/*对IE7有效*/ 
_background:#000;/*只对IE6有效*/
解释一下吧:

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

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

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

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

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

<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN" 

"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml">

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

第二种方法:

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

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

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


已有 0 人发表留言,猛击->> 这里<<-参与讨论


ITeye推荐



相关 [ie6 ie7 ie8] 推荐:

CSS HACK:IE6、IE7、IE8、Firefox兼容性问题解决方案

- - 博客园_首页
1.区别IE和非IE浏览器. background:blue; /*非IE 背景藍色*/. background:red \9; /*IE6、IE7、IE8背景紅色*/. 2.区别IE6,IE7,IE8,FF. 【区别符号】:「\9」、「*」、「_」. background:blue; /*Firefox 背景变蓝色*/.

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

- - JavaScript - Web前端 - ITeye博客
本文和大家重点讨论一下DIV+CSS=2010全面兼容IE6/IE7/IE8/Firefox的CSS HACK,这里主要有两种方法解决IE兼容性问题,请看下文详细介绍. DIV+CSS=2010全面兼容IE6/IE7/IE8/Firefox的CSSHACK. 浏览器市场的混乱,给设计师造成很大的麻烦,设计的页面兼容完这个浏览器还得兼容那个浏览器,本来IE6跟Firefox之间的兼容是很容易解决的.

DIV+CSS解决IE6,IE7,IE8,FF兼容问题

- - Web前端 - ITeye博客
1.ie8下兼容问题,这个最好处理,转化成ie7兼容就可以. 在头部加如下一段代码,然后只要在IE7下兼容了,IE8下面也就兼容了. 2.flaot浮动造成IE6下面双倍边距问题,这个最常见,也最好处理,!important解决,比如. margin-left:10px !important;/*IE7,IE8,FF下是10PX*/;.

使用windows7的virtual PC打造原装IE6、IE7、IE8测试环境

- LiuWeifeng - 断桥残雪部落格
公司使用的是windows7操作系统,自己之前一直使用IETester来测试页面在IE6~IE8下的兼容性,可是在测试js的时候还是会出现实际使用的还是windows7的IE8内核问题. 所以自己想通过virtual PC来搭建个虚拟的测试环境,为什么选择virtual PC呢. 1、windows 7系统自带,并且xp mode就可以直接安装上xp系统.

DIV CSS 网页兼容全搞定 (IE6 IE7 IE8 IE9 火狐 谷歌)

- - CSDN博客研发管理推荐文章
本文收集整理了IE7,6与Fireofx的CSS兼容性处理技巧,供大家参考.   请尽量用xhtml格式写代码,而且DOCTYPE影响 CSS 处理,作为W3C标准,一定要加DOCTYPE声明.    1.div的垂直居中问题.   vertical-align:middle; 将行距增加到和整个DIV一样高 line-height:200px; 然后插入文字,就垂直居中了.

IE6 的 !important

- 蓝精灵 - 幸福收藏夹
从开始要学解决 CSS 兼容问题时候起,就经常听 important 有各种坏处,不要使用,并且 IE6 下不能生效. 所以一下没有用 !important. 直到昨天给新人讲 CSS 的时候,这个问题才被提起. 早上旁边的小姑娘又问起,我说写个测试. 由此我们可以得出的结论是:IE6 下是可以使用 !important 的,但相同选择器内如果 !important 不是写在最后,则 !important 失效.

IE6: 不死心还在

- Titian - 帕兰映像
在刚发布的WordPress 3.2功能一览里面,我认为wordpress 3.2真正的革新是更高的服务器环境要求和不再支持IE6. 其中不支持IE6这一条,勾起了我常久以来想长篇大论一下IE6的冲动. 正好最近循环播放信乐团的一首歌“不死心还在”,该歌名很适合说明当下IE6在中国的状况. 我每次去帮不同的朋友解决电脑问题的时候,他们都在用着IE6.

漫画:IE6这一辈子

- FlyFire - UXD2
原作者网站: http://bradcolbow.com/. 原作者内容授权方式: Creative Commons 2.5. 转载请务必注明原作者署名: Brad Colbow.

media query ie8- 兼容实现总结

- - ria之家--RIA三部曲:jquery、ext、flex
由于业务形态原因,随着用户分辨率的提高,1024×768已不再是主流,宽屏用户比例越来越大,因此我们的响应式考虑如何充分利用PC用户设备上更多空间而设计. 下图为淘宝用户的屏幕分辨率和浏览器比例,鉴于ie8-浏览器目前占比约70%,media query的ie8-兼容迫于现实还是要做,泪……. media query简介.