IE6下img多余5像素空白

代码

<ul>
<li><a href="#"><img src="img/temp.jpg" alt="" /></a></li>
<li><a href="#"><img src="img/temp.jpg" alt="" /></a></li>
<li><a href="#"><img src="img/temp.jpg" alt="" /></a></li>
<li><a href="#"><img src="img/temp.jpg" alt="" /></a></li>
</ul>

ul{
width: 280px;
}
ul li{
display:block;
height:57px;
width:277px;
}

 

  其中 temp.jpg 尺寸为 277×57
Firefox 下的正常表现:
 
IE6 下的非正常表现:
 

很明显地可以看到 IE 中,li 的表现高度,并非我们设定的 57px,而是比其要高,这是因为 img 下面多出了 5px 的空白。
解决方法 一使 li 浮动,并设置 img 为块级元素

ul{
width: 280px;
}
ul li{
float:left;
display:block;
height:57px;
width:277px;
}
img{
display: block;
}

解决方法 二设置 ul 的 font-size:0; (我喜欢这个)

ul{
    width: 280px;
    font
-size: 0;
}
ul li{
    display:block;
    height:57px;
    width:277px;
}

解决方法 三设置 img 的 vertical-align: bottom

ul{
    width: 280px;
    font
-size: 0;
}
ul li{
    display:block;
    height:57px;
    width:277px;
}
img{
    vertical
-align:bottom;
}

解决方法 四设置 img 的 margin-bottom: -5px;

ul{
    width: 280px;
    font-size: 0;
}
ul li{
    display:block;
    height:57px;
    width:277px;
}
img{
    margin-bottom: -5px;
}

具体参见:无序列表ul在IE6、IE7中下边距bug

posted @ 2010-07-20 11:21  hevily  Views(659)  Comments(0Edit  收藏  举报