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

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

解决子级对象使用css float浮动 而父级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{ width:500px; border:1px solid #000; padding:10px} 
  8. .divcss5-lf{ float:left; width:220px; height:100px; background:#000} 
  9. .divcss5-rt{ float:right; width: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后,父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{width:500px;border:1px solid #000;padding:10px; height:100px} 
  8. .divcss5-lf{ float:left; width:220px; height:100px; background:#000} 
  9. .divcss5-rt{ float:right; width: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 解决外层父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{width:500px;border:1px solid #000;padding:10px} 
  8. .divcss5-lf{ float:left; width:220px; height:100px; background:#000} 
  9. .divcss5-rt{ float:right; width: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样式,而是在父级</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{width:500px;border:1px solid #000;padding:10px; overflow:hidden } 
  8. .divcss5-lf{ float:left; width:220px; height:100px; background:#000} 
  9. .divcss5-rt{ float:right; width: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样式解决父自适应高度

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

时间: 2024-08-03 01:27:40

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

float导致父级元素塌陷的问题

利用float进行页面布局时常常会出现父级元素没有高度的塌陷问题,如以下代码: <!DOCTYPE html> <html> <head lang="en"> <meta charset="UTF-8"> <title></title> </head> <style> .father-div{ background-color: #000000; /*overflow:

关于子级mouseover触发影响父级mouseout

第一次写文,大神请绕路,求轻喷~~ 先给个简单的布局,先是HTML <body> <div id="outer"> <div id="inner"> </div> </div> </body> 然后是CSS #outer{ width:400px; height:400px; background-color:red; margin:10px auto; position:relative;}

mui触发自定义事件(子页面返回传递给父级页面值)

在App开发中,经常会遇到子页面给父级页面传值,通过自定义事件,用户可以轻松实现数据传递. 一.添加自定义事件监听操作和标准js事件监听类似,可直接通过window对象添加,如下: window.addEventListener('customEvent',function(event){ //通过event.detail可获得传递过来的参数内容.... }); 1.customEvent   自定义事件的名称 2.function    接收到值后处理的方法 二.触发自定义事件 通过mui.f

子元素div高度不确定时父div高度如何自适应

粘自:http://www.jb51.net/css/110652.html 在最外层div加以下样式 height:100%; overflow:hidden; 其它方法: Div即父容器不根据内容自适应高度,我们看下面的代码: 代码如下: <div id="main"> <div id="content"></div> </div> 当Content内容多时,即使main设置了高度100%或auto.在不同浏览器下

float浮动引起的ul高度崩溃与overflow的关系

今天遇到的问题真的让人不得不吐槽,因为一个很小的问题,花费了半天的时间来才解决这个问题.一直认为自己对Html与Css了解应该算蛮不错的,但是今天遇到的事情让我不得不反省自己的学习心态上的错误.Html与Css的问题都是大问题,因为一旦出现布局的出错,往往不是自己的代码有问题,而是自己对某个浏览器的概念不了解产生的错误.这点告诉我们,要不断地去实践,去遇到问题,才能让我们对浏览器的很多原理理解更加深刻.不要以为自己学的差不多了,其实你恰好处于没有入门的地步.所以一定要永远保持谦虚的心态去学习,你

通过父级id获取到其下所有子级(无穷级)id及父级id——Mysql函数实现

[需求]某用户只能查看其自己信息及其下级信息,涉及通过该用户所在部门获取其下所有部门(多层)id集合. 步骤一:对数据库进行设置: set global log_bin_trust_function_creators=TRUE; 可以在Navicate点击工具栏的[工具]-> [命令行界面]执行以上语句:也可以在服务器上进入数据库执行. 步骤二:执行以下sql语句,生成sql方法. CREATE FUNCTION `getChildList`(`rootId` VARCHAR(32)) RETU

解决子级用css float浮动 而父级div没高度不能自适应高度

解决子级对象使用css float浮动 而父级div不能自适应高度,不能被父级内容撑开解决方法,父级div没有高度解决方法. 最外层的父级DIV不能自适应高度-不能随对象撑开没有高度 当在对象内的盒子使用了float后,导致对象本身不能被撑开自适应高度,这个是由于浮动产生原因. 如何解决父div对象自适应高度,方法有三种,接下来DIVCSS5逐一介绍. 1.首先我们先看HTML源代码: <!DOCTYPE html> <html> <head> <meta cha

float浮动后,父级元素高度塌陷和遮盖问题

当子元素不浮动的时候,父元素的高度是由子元素撑起来的. 子元素A和B是两个div,独占一行 效果如图: 当子元素B浮动起来之后,父元素高度塌陷到只剩子元素A的高度 效果如图: 当给子元素A(div)设置CSS属性:display:inline 后,A的宽高将不起作用,宽高由内容撑开,即被字母A撑开.此时父级元素高度没有塌陷到和A一样,而是和B的高度一样 效果如图: 当子元素A和B同时浮动起来之后,A的CSS属性:display:inline失效,效果为float的效果,同时父级元素的高度彻底塌陷

清除float浮动造成影响的几种解决方案

1. “清除浮动” ??准确的描述应该是“清除浮动造成的影响”  学习浮动推荐的视频教程<CSS深入理解之float浮动> 2.如何清除浮动造成的影响??? 栗子 块级div元素包含一个内联img元素,此时div的高应该是图片img撑开的高度,当设置了图片img元素设置浮动后,div高度就会坍塌 浮动的破坏性 浮动导致高度坍陷代码 <!DOCTYPE html> <html lang="en"> <head> <meta chars