首页 > 代码库 > float导致父级元素塌陷的问题

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

利用float进行页面布局时常常会出现父级元素没有高度的塌陷问题,如以下代码:

<!DOCTYPE html><html>    <head lang="en">        <meta charset="UTF-8">        <title></title>    </head>    <style> .father-div{            background-color: #000000;            /*overflow: hidden;*/ }        .items{            margin: 10px; float: left; height: 100px; background-color: #FF0000; }        .next-div{            background-color: #0099FF; height: 100px; }    </style>    <body>        <div class="father-div">            <div class="items">第一个</div>            <div class="items">第二个</div>            <div class="items">第三个</div>            <div style="clear:both"></div>        </div>        <div class="next-div">next-div</div>    </body></html>

实际出现的界面如下:

技术分享

 

和预期的效果不太一样:

技术分享

解决上诉问题的方式:

(1) 在父级元素上添加overflow:hidden属性,可以将父级元素撑大

(2) 在最后一个子元素后加入<div style="clear:both;"></div>,清除浮动元素。

(3) 直接给父级元素添加宽高(这种情况的需要需要在已知子元素的宽高的情况下)

推荐使用前两种方式

 

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