給li設定float浮動屬性之後,無法撐開外層ul的問題。

WBOY
發布: 2016-08-18 08:57:59
原創
2076 人瀏覽過

最近在專案中有好幾次遇到這個問題,感覺是浮動引起的,雖然用

解決了,但自己不是特別明白,又在網上查了相關內容,是因為給li設定了浮動之後它就脫離目前正常的文檔流,所以沒辦法撐開外層ul的高度。

以下面程式碼為例,其實有好幾種解決方法,我用的這種並不是最簡單的。





給li設定float浮動屬性之後,無法撐開外層ul的問題。



    >
        
  • 星期三

  •     
  • 星期四

  •     
  • 星期五

  •     
  • 星期六

  • ul  >
    身體>


    以上程式碼顯示結果如圖,ul的邊框變成了一條線,沒有被撐開,


    可是我期望的效果是這樣的:

    如果ul裡邊的內容是固定的,給ul加上高度就可以解決問題,但是遇到的項目中li是動態生成的,個數不能確定,所以高度只能設定成auto,這時候其實只要給外層ul也加上浮動屬性就可以解決問題,但有時候佈局會受到影響,只能根據情況而定;另外給ul加上overflow:auto/hidden也可以解決問題,如果要兼容ie6,後面加上"zoom:1"或"width:100%"即可。

    最後再總結一下,總共有4種方法:

    第1種方法在html程式碼裡邊給最後一個li後面加空元素清除浮動,div可以換成p或其他。具體如下圖:

    第2種方法

    :為ul設定固定的高度。具體如下圖:

    第3種方法

    :為ul設定overflow屬性,也可以是overflow:hidden。具體如下圖:

    第4種方法

    :給ul加浮動屬性,可以換成float:right,但是很有可能佈局就會收到影響。具體如下圖:

    每個人用的方法應該都不一樣,我覺得第三種方法最簡單,以後就用這種。哈哈,這會下班回家~~

來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板
關於我們 免責聲明 Sitemap
PHP中文網:公益線上PHP培訓,幫助PHP學習者快速成長!