Heim  >  Artikel  >  Web-Frontend  >  讨论IE6/IE7中li底部4px的Bug_html/css_WEB-ITnose

讨论IE6/IE7中li底部4px的Bug_html/css_WEB-ITnose

WBOY
WBOYOriginal
2016-06-24 11:31:551027Durchsuche

当li的子元素中有浮动(float)时,IE6/IE7中

  • 元素的下面会产生4px空隙的bug。

    XHTML    

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

     

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"><html xmlns="http://www.w3.org/1999/xhtml"><head><meta http-equiv="Content-Type" content="text/html; charset=gb2312" /><title>IE6/IE7中li底部3px的Bug</title><style type="text/css">ul { margin: 0; padding: 0; list-style: none; }hr { clear: both; }.list li { width: 420px; }.list div { float: left; width: 400px; height: 24px; background: red; }.v-top div { vertical-align: top; }.v-middle div { vertical-align: middle; }.v-bottom div { vertical-align: bottom; }</style></head><body><ul class="list">  <li><div>vapour</div></li>  <li><div>百度</div></li>  <li><div>淘宝</div></li>  <li><div>迅雷</div></li></ul><hr /><ul class="list v-top">  <li><div>vapour</div></li>  <li><div>百度</div></li>  <li><div>淘宝</div></li>  <li><div>迅雷</div></li></ul><hr /><ul class="list v-middle">  <li><div>vapour</div></li>  <li><div>百度</div></li>  <li><div>淘宝</div></li>  <li><div>迅雷</div></li></ul><hr /><ul class="list v-bottom">  <li><div>vapour</div></li>  <li><div>百度</div></li>  <li><div>淘宝</div></li>  <li><div>迅雷</div></li></ul></body></html>

    firefly

  • Stellungnahme:
    Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn