360兼容模式页面错位_如何处理网站兼容性

本文详细介绍了网页在360兼容模式及IE6-7中遇到的多种兼容性问题,包括标签外补丁和内补丁差异、浮动元素margin问题、最小高度设置、透明度设置、图片间距等,并提供了相应的解决方案,如使用CSS Hack、浮动布局、设置overflow和line-height等。
摘要由CSDN通过智能技术生成
3b44090d68e0f46b92dad76c0f2627cb.gif

点击上方蓝字

给一个关注吧                

b3095951626149ce6474f2578e673a05.png

点击上方关注我们!

市场上浏览器种类很多,不同浏览器的内核也不尽相同,所以各个浏览器对网页的解析存在一定的差异。浏览器内核主要分为两种,一是渲染引擎,另一个是js引擎,内核更加倾向于说渲染引擎。 常见的浏览器内核可以分四种:Trident、Gecko、Blink、Webkit IE浏览器: Trident内核,也称为IE内核; Chrome浏览器:Webkit内核,现在是Blink内核 ; Firefox浏览器:Gecko内核,俗称Firefox内核 ; Safari浏览器:Webkit内核 Opera浏览器:最初是自己的Presto内核,后来加入谷歌大军,从Webkit又到了Blink内核; 360浏览器:IE+Chrome双内核 ; 猎豹浏览器:IE+Chrome双内核 ; 百度浏览器:IE内核 ; QQ浏览器:Trident(兼容模式)+Webkit(高速模式)。不同浏览器的默认样式存在差异,可以使用 Normalize.css 抹平这些差异。

常见的兼容性问题:

1.不同浏览器的标签默认的外补丁和内补丁不同

问题症状:随便写几个标签,不加样式控制的情况下,各自的margin 和padding差异较大。

碰到频率:100%

解决方案:CSS里    *{margin:0;padding:0;}

备注:这个是最常见的也是最易解决的一个浏览器兼容性问题,几乎所有的CSS文件开头都会用通配符*来设置各个标签的内外补丁是0。

2.块属性标签float后,又有横行的margin情况下,在IE6显示margin比设置的大

问题症状:常见症状是IE6中后面的一块被顶到下一行

碰到频率:90%(稍微复杂点的页面都会碰到,float布局最常见的浏览器兼容问题)

解决方案:在float的标签样式控制中加入 display:inline;将其转化为行内属性

备注:我们最常用的就是div+CSS布局了,而div就是一个典型的块属性标签,横向布局的时候我们通常都是用div float实现的,横向的间距设置如果用margin实现,这就是一个必然会碰到的兼容性问题。

3.设置较小高度标签(一般小于10px),在IE6,IE7,遨游中高度超出自己设置高度

问题症状:IE6、7和遨游里这个标签的高度不受控制,超出自己设置的高度

碰到频率:60%

解决方案:给超出高度的标签设置overflow:hidden;或者设置行高line-height 小于你设置的高度。

备注:这种情况一般出现在我们设置小圆角背景的标签里。出现这个问题的原因是IE8之前的浏览器都会给标签一个最小默认的行高的高度。即使你的标签是空的,这个标签的高度还是会达到默认的行高。

4.行内属性标签,设置display:block后采用float布局,又有横行的margin的情况,IE6间距bug

问题症状:IE6里的间距比超过设置的间距

碰到几率:20%

解决方案:在display:block;后面加入display:inline;display:table;

备注:行内属性标签,为了设置宽高,我们需要设置display:block;(除了input标签比较特殊)。在用float布局并有横向的margin后,在IE6下,他就具有了块属性float后的横向margin的bug。不过因为它本身就是行内属性标签,所以我们再加上display:inline的话,它的高宽就不可设了。这时候我们还需要在display:inline后面加入display:talbe。

5.图片默认有间距

问题症状:几个img标签放在一起的时候ÿ

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值