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

Posted heshan珊

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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导致父级元素塌陷的问题的主要内容,如果未能解决你的问题,请参考以下文章

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

CSS元素高度塌陷的几种常见解决办法!

2018-07-09 消除因为子元素的浮动而导致的父级塌陷问题

父级塌陷清除浮动的五种方法

float浮动

防止父级边框塌陷的四种方法