多瀏覽器下IE6 IE7 firefox li 間距問題第1/2頁_經驗交流

來源:互聯網
上載者:User
今天小雷提到一個ie5下li產生空白行距的問題,下面來測試一下。
建立一個簡單的HTML測試檔案,下面來測試ul li標籤。

代碼如下:

<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為如下代碼,效果如下:

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;}

發現在IE5和IE5.5下左邊都產生了空白,並且在IE5下,LI之間的行距產生空白,如


測試二,定義css為如下代碼:

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左邊產生空白的問題,而IE5的li之間的間距還是有,如:

測試三,定義css為如下代碼,(最佳寫法)

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之間的空白行距消失了,取得各個瀏覽器的效果一樣,如:

總結
1.解決li在IE5下產生空白行距的方法:如果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下不會產生空白行距),不過高度還是要定義一下的。

以上就是多瀏覽器下IE6 IE7 firefox li 間距問題第1/2頁_經驗交流的內容,更多相關內容請關注topic.alibabacloud.com(www.php.cn)!

  • 相關文章

    A Free Trial That Lets You Build Big!

    Start building with 50+ products and up to 12 months usage for Elastic Compute Service

    • Sales Support

      1 on 1 presale consultation

    • After-Sales Support

      24/7 Technical Support 6 Free Tickets per Quarter Faster Response

    • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.