热搜词
发表于 2013-1-18 14:03:09 | 显示全部楼层 |阅读模式
你对IE6,IE7及FF火狐浏览器的区别和兼容方法是否熟悉,这里和大家分享一下,相信本文介绍一定会让你有所收获。
IE6,IE7及FF火狐浏览器的区别和兼容方法

1.IE7与IE6相比,有多达200多处改进,但它们都是在StrictMode下实现的,即在页首声明DocType为XHTMLTransitional,XHTMLStrict等.而在QuirksMode下,IE7和IE6别无二致。所以为了更好的兼容,尽量声明DocType,采用StrictMode进行制作。

2.IE7支持Alpha通道的PNG图片,但是这些Alpha通道图片在IE6下还是不能正常显示的,所以还是尽量使用透明GIF图片。

3.IE7盒子模型改变了:盒子对于"overflow"使用了"visible"默认值,所以对于子元素尺寸大于父元素尺寸时,IE7会和Firefox一样将子元素露出于父元素之外显示,而不是像IE6那样把父元素撑大了包含子元素.把页面设置成"overflow:visible"即可。

4.设置为float的div在ie下设置的margin会加倍。这是一个ie6存在的bug。解决方案是在这个div里面加上"display:inline"。

5.IE和火狐对'width'定义的不同:
Firefox中:容器占的宽度=内容宽度+padding宽度+border宽度;
IE中:内容宽度=您定义的容器宽度(InternetExplorer'width')-padding宽度-border宽度
(InternetExplorer'width'则是指整个容器的宽度,包括内容,padding,border)

6.css布局的居中问题:FF火狐里设置margin-left,margin-right为auto时已经居中,IE则设置body{TEXT-ALIGN:center;}才行

7.FF火狐设置padding后,div会增加height和width,但IE不会,故需要用!important多设一个height和width

8.在mozillafirefox和IE中的BOX模型解释不一致导致相差2px解决方法:div{margin:30px!important;margin:28px;}

9.ul标签在FF火狐中默认是有padding值的,而在IE中只有margin有值所以先定义ul{margin:0;padding:0;}

10.终结解决方法:
(1)!important:FF火狐和IE7对于"!important"会自动优先解析,IE6则忽略,可用!important为FF火狐和IE7单独设置样式,不影响IE6的显示,值得注意的是,一定要将xxxx!important这句放置在另一句之上。
示例:div{margin:30px!important;margin:15px;}//在FF火狐和IE7中margin:30px,在IE6中margin:15px;

(2)由于FF火狐和IE7都支持"!important",而二者之间也存在差异,所以有时也会出现一些小问题,针对IE7可以使用使用"*+html"。
全部评论0
回复
您需要登录后才可以回帖 登录 | 注册

本版积分规则

QQ|Archiver|手机版|小黑屋|管理员之家 ( 苏ICP备2023053177号-2 )

GMT+8, 2025-1-16 04:57 , Processed in 0.169090 second(s), 26 queries .

Powered by Discuz! X3.5

Cpoyright © 2001-2025 Discuz! Team