2011-06-14 129 views
1

我想創建一個可變高度的div。看起來,如果div的可變高度div內部設置爲float:left可變高度div得到0的高度。如果我設置變量高度div float:left div隨其中的內容增長,但現在可變高度div被髮送到屏幕左側而不是中心。如何讓主div保持在中心位置,但是它還會隨着它的子div的增長而增長?浮點問題 - Css

+0

到目前爲止,你有什麼代碼明智嗎? – ngen 2011-06-14 16:31:47

+0

溢出:隱藏在父div上就夠了 – lipelip 2011-06-14 16:33:51

回答

2
<div id="VariableHeightDiv"> 
    <div class="child floatLeft"></div> 
    <div class="child floatLeft"></div> 
    <div class="child floatLeft"></div> 

    <div class="clear"></div> 
</div> 

,並在你的CSS .clear {明確:既;}

你需要清除浮動,否則瀏覽器無法正確理解和計算容器div的高度。這就是爲什麼最後我們添加一個清空的div:兩者都是。

+0

這正是我所需要的,謝謝! – Lumpy 2011-06-14 16:37:33

+1

但創建一個額外的元素是多餘的。 – Sotiris 2011-06-14 16:49:25

+0

在某些情況下,這可能是多餘的。 但是,如果你沒有指定寬度的元素,那麼它不會在IE6上工作。有時必須指定一個寬度值,或者甚至將溢出設置爲隱藏(這是爲了其他更明顯的用途) - 可能會混淆現有的佈局,並最終導致更大的麻煩。 – Pantelis 2011-06-14 17:06:47

0

浮動divs從文檔的「流」中被刪除。可以強制div容器完全包圍它的內容,即使他們是浮動的,後來通過使用清除元件:

<div> 
    <div style="float: left">blah blah</div> 
    <br style="clear: both" /> 
</div> 

有更好的方法的詳細here

0

對於主DIV,包括這些CSS規則:

margin: 0 auto; 
overflow: auto; 

還要確保你有一個主要的div一個min-heightwidth屬性集。

編輯:我也包括溢出屬性。