li標(biāo)簽的間距問題及書寫最佳方式_Web標(biāo)準(zhǔn)教程

      編輯Tag賺U幣
      教程Tag:暫無Tag,歡迎添加,賺取U幣!

      新建一個簡單的HTML測試文件,下面來測試ul li標(biāo)簽

      以下為引用的內(nèi)容:
      <ul>
      <li><a href="#">菜單一</a></li>
      <li><a href="#">菜單一</a></li>
      <li><a href="#">菜單一</a></li>
      <li><a href="#">菜單一</a></li>
      <li><a href="#">菜單一</a></li>
      <li><a href="#">菜單一</a></li>
      </ul>
      <ul>
      <li><a href="#">菜單一</a></li>
      <li><a href="#">菜單一</a></li>


      <li><a href="#">菜單一</a></li>
      <li><a href="#">菜單一</a></li>
      <li><a href="#">菜單一</a></li>
      <li><a href="#">菜單一</a></li>
      </ul>

      測試一、定義css為如下代碼,效果如下

      以下為引用的內(nèi)容:
      view plaincopy to clipboardprint?
      body{font-size:12px;margin:0}
      ul{list-style:none;margin:0;padding:0;width:120px;}
      ul li{background:green;height:20px;}
      ul li a{color:#fff;padding:0 0 0 10px;}
      body{font-size:12px;margin:0}
      ul{list-style:none;margin:0;padding:0;width:120px;}
      ul li{background:green;height:20px;}
      ul li a{color:#fff;padding:0 0 0 10px;}

      發(fā)現(xiàn)在IE5和IE5.5下左邊都產(chǎn)生了空白,并且在IE5下,LI之間的行距產(chǎn)生空白,如下圖

      測試二、定義css為如下代碼

      以下為引用的內(nèi)容:
      view plaincopy to clipboardprint?
      body{font-size:12px;margin:0}
      ul{list-style:none;margin:0;padding:0;}
      ul li{background:green;height:20px;width:120px;}
      ul li a{color:#fff;padding:0 0 0 10px;}
      body{font-size:12px;margin:0}
      ul{list-style:none;margin:0;padding:0;}
      ul li{background:green;height:20px;width:120px;}
      ul li a{color:#fff;padding:0 0 0 10px;}

      和測試一相比,只是將width:120px;從ul的定義放置到li的定義,解決了IE5和IE5.5左邊產(chǎn)生空白的問題,而IE5的li之間的間距還是有。如下圖

      測試三、定義css為如下代碼

      以下為引用的內(nèi)容:
      body{font-size:12px;margin:0}
      ul{list-style:none;margin:0;padding:0;}
      ul li{background:green;height:20px;width:120px;vertical-align: bottom;}
      ul li a{color:#fff;padding:0 0 0 10px;}

      和測試二比較,在li的定義中加上vertical-align: bottom;ie5下正常,li之間的空白行距消失了,取得各個瀏覽器的效果一樣,如下圖

      總結(jié)

      1、解決li在IE5下產(chǎn)生空白行距的方法:假如li定義了寬度,那么需要在li里面再定義vertical-align: bottom;

      2、寬度最好不要定義在UL,定義在LI或者UL外層的DIV里面

      3、書寫LI的最佳方式,li里面要書寫高度和寬度,以及vertical-align: bottom;(for ie5/win bug),或者在ul外面加上一層div,并定義寬度,那么在li里面不用定義寬度和vertical-align: bottom;,也顯示正常(IE5下不會產(chǎn)生空白行距),不過高度還是要定義一下的。

      來源:模板無憂//所屬分類:Web標(biāo)準(zhǔn)教程/更新時間:2007-09-27
      相關(guān)Web標(biāo)準(zhǔn)教程