天天看點

記錄一個父級div不能被子級内容撐開的解決方法,父級div沒有高度的解決方法。

文章出處和來源網址:http://www.divcss5.com/jiqiao/j612.shtml

今天遇到一個可能你在項目裡也會經常遇到的問題如下圖,解決以後轉載過來自己做個記錄。

記錄一個父級div不能被子級内容撐開的解決方法,父級div沒有高度的解決方法。

最外層的父級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、問題效果截圖:

記錄一個父級div不能被子級内容撐開的解決方法,父級div沒有高度的解決方法。

子對象使用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效果截圖

記錄一個父級div不能被子級内容撐開的解決方法,父級div沒有高度的解決方法。

對父加高度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不能自适應高度

記錄一個父級div不能被子級内容撐開的解決方法,父級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不能被子級内容撐開的解決方法,父級div沒有高度的解決方法。

父div加overflow樣式解決父自适應高度

推薦。此方法為非常簡單解決子用float,父div不能自适應高度,不能随父内容多少而自适應高度沒有高度。

繼續閱讀