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的值是三者之一便可。 測試

相關文章
相關標籤/搜索