<转载>如何解决子级用float浮动父级div高度不能自适应的问题

转载:http://www.kwstu.com/ArticleView/divcss_2013101582430202

解决子级对象使用css float浮动 而父级div不能自适应高度,不能被父级内容撑开解决方法,父级div没有高度解决方法。

外层父级DIV不能自适应高度-
最外层的父级DIV不能自适应高度-不能随对象撑开没有高度

当在对象内的盒子使用了float后,导致对象本身不能被撑开自适应高度,这个是由于浮动产生原因。

如何解决父div对象自适应高度,方法有三种,接下来DIVCSS5逐一介绍。

1、首先我们先看HTML源代码:

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>父div不自适应高度实例</title>
  6. <style>
  7. .divcss5{ 500px; border:1px solid #000; padding:10px} 
  8. .divcss5-lf{ float:left; 220px; height:100px; background:#000} 
  9. .divcss5-rt{ float:right; 230px; height:100px; background:#06F} 
  10. </style>
  11. </head>
  12. <body>
  13. <div class="divcss5">
  14. <div class="divcss5-lf"></div>
  15. <div class="divcss5-rt"></div>
  16. </div>
  17. </body>
  18. </html>

2、问题效果截图:

外层父级不能css自适应高度撑开截图
子对象使用float后,父div不能自适应高度实例截图

方法一:对父级设置固定高度

此方法可用于能确定父级div内子级对象高度。

假如以上案例,我们知道内部div高度100px,那对父级设置css height为100px看看效果。

1、完整div+css实例html代码(对父div加高度):

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>父div不自适应高度实例</title>
  6. <style>
  7. .divcss5{500px;border:1px solid #000;padding:10px; height:100px} 
  8. .divcss5-lf{ float:left; 220px; height:100px; background:#000} 
  9. .divcss5-rt{ float:right; 230px; height:100px; background:#06F} 
  10. </style>
  11. </head>
  12. <body>
  13. <div class="divcss5">
  14. <div class="divcss5-lf"></div>
  15. <div class="divcss5-rt"></div>
  16. </div>
  17. </body>
  18. </html>

2、加高度解决不能撑开子对象使用float效果截图

对父加高度100px解决不能撑开
对父加高度100px 解决外层父div自适应高度截图

此方法缺点,父级是固定高度,而不随内容高度自适应高度,没高度。此方法针对能确定父div内的内容高度情况下使用。

方法二:使用css clear清除浮动

对父级div标签闭合</div>前加一个clear清除浮动对象。

1、加clear效果完整div css代码

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>父div不自适应高度实例</title>
  6. <style>
  7. .divcss5{500px;border:1px solid #000;padding:10px} 
  8. .divcss5-lf{ float:left; 220px; height:100px; background:#000} 
  9. .divcss5-rt{ float:right; 230px; height:100px; background:#06F} 
  10. .clear{ clear:both} 
  11. </style>
  12. </head>
  13. <body>
  14. <div class="divcss5">
  15. <div class="divcss5-lf"></div>
  16. <div class="divcss5-rt"></div>
  17. <div class="clear"></div>
  18. </div>
  19. </body>
  20. </html>

2、加css clear解决父div不能自适应高度

使用clear:both清除父级内子对象产生浮动
使用clear:both清除父级内子对象产生浮动

此方法需要注意是clear:both加的位置,不是对父级直接加clear样式,而是在父级</div>前加带clear对象盒子。

方法三:对父级样式加overflow样式

此方法非常简单,也可以作为推荐解决父级不能被撑开自适应高度的方法,可以不增加div盒子对象,只需要对父级加一个overflow:hidden样式即可。

1、完整css div代码

  1. <!DOCTYPE html>
  2. <html>
  3. <head>
  4. <meta charset="utf-8" />
  5. <title>父div不自适应高度实例</title>
  6. <style>
  7. .divcss5{500px;border:1px solid #000;padding:10px; overflow:hidden } 
  8. .divcss5-lf{ float:left; 220px; height:100px; background:#000} 
  9. .divcss5-rt{ float:right; 230px; height:100px; background:#06F} 
  10. </style>
  11. </head>
  12. <body>
  13. <div class="divcss5">
  14. <div class="divcss5-lf"></div>
  15. <div class="divcss5-rt"></div>
  16. </div>
  17. </body>
  18. </html>

2、加css overflow方法截图

父div加overflow样式解决父自适应高度
父div加overflow样式解决父自适应高度

推荐。此方法为非常简单解决子用float,父div不能自适应高度,不能随父内容多少而自适应高度没有高度。

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。
博文来源广泛,如原作者认为我侵犯知识产权,请尽快给我发邮件 664507902@qq.com联系,我将以第一时间删除相关内容。

【推广】 免费学中医,健康全家人
原文地址:https://www.cnblogs.com/ooip/p/4567696.html