1)图片间隙
A) div中的图片间隙(该bug出现在所有浏览器中)
描述:在div中插入图片时,图片将会把div下方撑大三像素。
hack:将< img>中转为块级元素,给< img>添加声明:display:block;
B) 当图片横着排列的时候,图片与图片之间存在一定的间距;
hack:img{float:left;}
2)dt,li中图片间隙
hack:img{display:block;}
3) 双倍浮向(双倍间距)(只有IE6出现)
描述:在IE6中,一个居左(或居右)浮动的元素放进一个容器盒(box),并在浮动元素上使用了左边距(或右边距),在IE6中会产生双倍边距。
hack:给浮动元素添加声明:display:inline;
4) 图片在IE浏览器上有蓝色的边框(加在a标签里)
hack:img{border:0;}
5)默认高度(IE6、IE7)
描述:在IE6及以下版本中,部分块元素拥有默认高度(低于18px高度)
hack1:给元素添加声明:font-siaze:0;
hack2:给元素添加声明:overflow:hidden;
6)表单元素距离顶部间距不一样(IE,MOZ,C,O,S)
hack:给表单元素添加声明:float:left;
7)按钮元素默认大小不一
hack1:统一大小/(或用a标签模拟)
hack2:input外边套一个标签,在这个标签里重写按钮的样式,把input的边框去掉。
hack3:如果这个按钮是一个图片,直接把图片作为按钮的背景即可。
8)百分比bug
描述:在IE6及以下版本中在解析百分比是,会按照四舍五入方式计算从而导致50%加50%大于100%的情况
hack:给右边的浮动元素添加声明:clear:right
9)子元素没设置任何浮动,设置了margin-top属性后,会错误的把margin-top属性添加给父元素
hack:给父元素添加overflow:hidden;声明。
*:如果子元素设置了浮动属性就不会出现这个问题
10)当给li中的a转成block;并且有height,并有float的时候,li中没设置浮动,则li会呈现阶梯状排列
hack:同时给li加float;
11)input的type类型是text的时候,提示信息用value表示,如果设置了input的高度,在其他浏览器上显示的value的内容是垂直居中的,但是在IE6上是在顶部的 ,解决办法是给input添加一个行高并等于他的高度。
12)高度自适应兼容IE6
A)!important关键字过滤(IE6不识别!important和min-height)
{
min-height:300px;
height:auto !important ;
height:300px;
}
B)下划线过滤(其他浏览器不识别下划线,而IE会解析该下划线,但IE不识别min-height)
{
_height:300px;
min-height:300px;
}