2012-04-27 118 views
2

我正在設計一個三列網站,我想在左欄中顯示一些特定人員的信息以及他們的個人資料照片。同時,我正在使用HTML,並且已經成功地設計了左列的代碼。 現在我正在嘗試在左欄中劃分一個分部,每個分部都會反映該人的姓名和帳戶信息。
父div不會自動繼承其子元素的高度

#column_left{ 
    display: inline; 
    float: left; 
    margin-left: 5px; 
} 
#col1 #sub-div{ 
    width:100%; 
    margin:auto; 
    border-top:1px #333 solid; 
    border-bottom:1px #333 solid; 
} 
#col1 #sub-div #div-img { float:left; display:inline; width: 40px; height: 40px; 
    } 
#col1 #sub-div #div-info { float:left; display:inline; width:auto; height:auto; padding: 2px; } 

現在的問題是,即使是兩個div(DIV-IMG和DIV-信息)是根據分格,這樣子DIV的高度必須根據其子的div的高度變化。但不幸的是,子div按照正確的順序排列,但父div沒有任何高度,除非在#sub-div的css代碼中提及它。


有誰能告訴我爲什麼父母不繼承子元素的高度? 我錯了嗎?

回答

2

您需要清除浮標。該行添加到您的左邊div的底部,明白我的意思:

<div style="clear: both"></div> 

要了解爲何需要花車結算,見this articleThe answers to this question提供更多清算解決方案。

+1

如果你解釋了爲什麼你需要清除漂浮物 – 2012-04-28 00:05:08

+4

那麼'overflow:auto'解決了我的問題。感謝您的鏈接和幫助 – ashutosh 2012-04-28 01:25:55