IE6/IE7中li底部4px空隙的Bug

当li的子元素中有浮动(float)时,IE6/IE7中<li>元素的下面会产生4px空隙的bug。 

代码如下: 
<ul class="list"> 
<li><div>vapour</div></li> 
<li><div>百度</div></li> 
<li><div>淘宝</div></li> 
<li><div>迅雷</div></li> 
</ul> 

经过测试发现:li的子元素浮动是这个bug产生的必要条件,这个bug产生的充要条件是li的子元素浮动并且li设置了以下CSS属性之一:width、height、zoom、padding-top、padding-bottom、margin-top、margin-bottom。 

知道了这个bug的产生条件,所以解决方法也就有了: 

方法1 
#list div设置clear:left|both,这时#list li不能设置width、height、zoom。 
方法2 
#list li设置float:left,这时#list li可以设置width、height、zoom。 
#list li设置clear:left|both,这时#list li不能设置width、height、zoom。 
方法3 
IE6/IE7的这个Bug可以通过给li中的div设置vertical-align:top|middle|bottom解决。太怪异了,只要加上vertical-align的值是三者之一即可。 

posted @ 2015-12-25 16:26  jiet323  阅读(130)  评论(0编辑  收藏  举报