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


轉自 http://www.divcss5.com/jiqiao/j612.shtml

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

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

外層父級不能css自適應高度撐開截圖


子對象使用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解決不能撐開


對父加高度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: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樣式解決父自適應高度


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

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


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM