浏览器的一些兼容
IE6兼容性;
不同的浏览器的默认margin和padding是不同的,所以要清楚样式。
1、横向双倍bug:
产生条件:
1、IE6 2、块属性 3、float 4、有横向margin
解决方法:破除一个条件,display:inline;
2、塌陷:
父元素的第一个子元素设置margin时,父级元素和子元素一起向下;
解决方法:1:浮动或者给父元素设置overflow:hidden;
2:对父元素使用padding;
3:对父元素设置边框进行隔离;
3、IE6默认有行高:(即使设置height:0px,也没有效果);
解决方法:设置一条属性:overflow:hidden;
4、img之间有空隙:
解决方法:图片浮动;或者让图片之间没有空格;
5、a标签嵌套img是有颜色边框:
解决方法:img加上border:none;或者border:0;
6、父标签高度为0;
解决方法:清除浮动、overflow:hidden 、设置高度;
7、盒模型:
ie里面会产生怪异盒模型;
普通浏览器使元素产生怪异盒模型的方法:box-sizing:border-box;
8. ie6 不支持透明的png图
产生条件:
ie6 浏览器
使用png图片
解决方法:
使用jpg,gif图代替png图
使用javascript进行处理
9. 默认高度
产生条件:
ie6
块元素
没有写固定高
解决方案:
设置固定高/height:0;
10.经典3像素bug
产生条件:
IE6浏览器,
浮动块元素与未浮动块元素处于同一行
解决办法:
设置非浮动元素浮动。
_margin-left:-3px;或者_margin-right:-3px;
11.透明rgba与opacity与filter
产生条件:
IE6,IE7,IE8不支持此两种透明的设置方法;
解决办法:
使用IE6当中的滤镜filter替代掉,如:opacity:0.6;filter:alpha(opacity=60)。
12. 不支持最大最小宽高
产生条件:
IE6浏览器,
标签的最低高度/宽度设置(min/max-width/height)
解 决办法:
为IE6单独设置hack,即_height:最小高度值;_width:最小宽度值(对于IE6,当实际宽高 超出定义的宽高时,元素会自动调整 宽高)。
对于最大高度和最大宽度,没有必要设置兼容,当前对于开发者来说,只需要保证IE6下正 常显示即可,无需在它身上花费太多功夫。
13.子选择器在IE6中不能使用
产生条件:
IE6浏览器,
使用E>F子选择器;(一级子元素)
解决办法:
采用其他选择器或者采用后代选择器进行控制,
如:div p{margin:10px;} div p p{margin:0;}
替代掉 div>p{margin:10px;}。

浙公网安备 33010602011771号