文章出處和來源網址:http://www.divcss5.com/jiqiao/j612.shtml
今天遇到一個可能你在項目裡也會經常遇到的問題如下圖,解決以後轉載過來自己做個記錄。

最外層的父級DIV不能自适應高度-不能随對象撐開沒有高度
當在對象内的盒子使用了float後,導緻對象本身不能被撐開自适應高度,這個是由于浮動産生原因。
如何解決父div對象自适應高度,方法有三種,接下來DIVCSS5逐一介紹。
1、首先我們先看HTML源代碼:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>父div不自适應高度執行個體</title>
<style>
.divcss5{ width:500px; border:1px solid #000; padding:10px}
.divcss5-lf{ float:left; width:220px; height:100px; background:#000}
.divcss5-rt{ float:right; width:230px; height:100px; background:#06F}
</style>
</head>
<body>
<div class="divcss5">
<div class="divcss5-lf"></div>
<div class="divcss5-rt"></div>
</div>
</body>
</html>
2、問題效果截圖:
子對象使用float後,父div不能自适應高度執行個體截圖
方法一:對父級設定固定高度
此方法可用于能确定父級div内子級對象高度。
假如以上案例,我們知道内部div高度100px,那對父級設定css height為100px看看效果。
1、完整div+css執行個體html代碼(對父div加高度):
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>父div不自适應高度執行個體</title>
<style>
.divcss5{width:500px;border:1px solid #000;padding:10px; height:100px}
.divcss5-lf{ float:left; width:220px; height:100px; background:#000}
.divcss5-rt{ float:right; width:230px; height:100px; background:#06F}
</style>
</head>
<body>
<div class="divcss5">
<div class="divcss5-lf"></div>
<div class="divcss5-rt"></div>
</div>
</body>
</html>
2、加高度解決不能撐開子對象使用float效果截圖
對父加高度100px 解決外層父div自适應高度截圖
此方法缺點,父級是固定高度,而不随内容高度自适應高度,沒高度。此方法針對能确定父div内的内容高度情況下使用。
方法二:使用css clear清除浮動
對父級div标簽閉合</div>前加一個clear清除浮動對象。
1、加clear效果完整div css代碼
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>父div不自适應高度執行個體</title>
<style>
.divcss5{width:500px;border:1px solid #000;padding:10px}
.divcss5-lf{ float:left; width:220px; height:100px; background:#000}
.divcss5-rt{ float:right; width:230px; height:100px; background:#06F}
.clear{ clear:both}
</style>
</head>
<body>
<div class="divcss5">
<div class="divcss5-lf"></div>
<div class="divcss5-rt"></div>
<div class="clear"></div>
</div>
</body>
</html>
2、加css clear解決父div不能自适應高度
使用clear:both清除父級内子對象産生浮動
此方法需要注意是clear:both加的位置,不是對父級直接加clear樣式,而是在父級</div>前加帶clear對象盒子。
方法三:對父級樣式加overflow樣式
此方法非常簡單,也可以作為推薦解決父級不能被撐開自适應高度的方法,可以不增加div盒子對象,隻需要對父級加一個overflow:hidden樣式即可。
1、完整css div代碼
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8" />
<title>父div不自适應高度執行個體</title>
<style>
.divcss5{width:500px;border:1px solid #000;padding:10px; overflow:hidden }
.divcss5-lf{ float:left; width:220px; height:100px; background:#000}
.divcss5-rt{ float:right; width:230px; height:100px; background:#06F}
</style>
</head>
<body>
<div class="divcss5">
<div class="divcss5-lf"></div>
<div class="divcss5-rt"></div>
</div>
</body>
</html>
2、加css overflow方法截圖
父div加overflow樣式解決父自适應高度
推薦。此方法為非常簡單解決子用float,父div不能自适應高度,不能随父内容多少而自适應高度沒有高度。