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