3 回答

TA貢獻1827條經驗 獲得超9個贊
當子元素浮動時,它們將從文檔流中刪除。這樣做時,父級將不再具有定義的尺寸,因為子級在技術上不會占用空間。因此,父元素自身折疊。當絕對定位子元素時,也會發生相同的情況。
在這種情況下,我們可以通過添加overflow:hidden到父元素來修復它,從而強制其包含子元素。另外也overflow:auto可以工作。有人可能會建議它比可能更好,overflow:hidden因為您將能夠判斷出是否有任何計算不可用。
jsFiddle示例
.content {
overflow:hidden;
}
現在父元素不再折疊,紅色背景可見。
如果要在舊版瀏覽器中尋求支持,也可以使用clearfix,但我不建議這樣做。

TA貢獻1794條經驗 獲得超8個贊
我在內容容器的末尾使用了一個空的clear div
添加了CSS:
.clear {
clear: both;
}
HTML:
<div class="content">
<div class="left">
<p>some content</p>
</div>
<div class="right">
<p>some content</p>
</div>
<div class="clear"></div>
</div>

TA貢獻1911條經驗 獲得超7個贊
您可以嘗試此解決方案
.content:before, .content:after {
content: " ";
display: table;
clear: both;
}
或在內容div中添加display:table:
.content {
width: 960px;
height: auto;
margin: 0 auto;
background: red;
clear: both;
display: table;
}
- 3 回答
- 0 關注
- 504 瀏覽
相關問題推薦
添加回答
舉報