當在對象內的盒子使用了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不能自適應高度實例截圖
方法一:對父級設置固定高度 - TOP
此方法可用於能確定父級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清除浮動 - TOP
對父級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樣式 - TOP
此方法非常簡單,也可以作為推薦解決父級不能被撐開自適應高度的方法,可以不增加div盒子對象,只需要對父級加一個overflow:hidden樣式即可。
備注:有overflow:hidden
對於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不能自適應高度,能隨父內容多少而自適應高度沒有高度。
