美文网首页
子元素浮动导致父元素高度塌陷解决方案

子元素浮动导致父元素高度塌陷解决方案

作者: 杨康他兄弟 | 来源:发表于2019-11-29 23:27 被阅读0次

高度塌陷是指父元素在未指定高度的情况下(高度自适应子元素高度),其内部的子元素因为设置了浮动属性,脱离文档流,导致父元素高度因为子元素的脱离变成了0。
形象化如图所示:
css.css

.header {
    background-color: #333333;
    width: 100%;
    height: 60px;
}

.content {
    background-color: #FFFFFF;
    width: 100%;
    height: 100%;
}

.content .directory {
    background-color: chartreuse;
    width: 240px;
    height: 500px;
    float: left;
}

.content .itemlist {
    background-color: #CCCCCC;
    width: 240px;
    height: 500px;
    float: left;
}

.footer {
    background-color: #333333;
    width: 100%;
    height: 100px;
}

index.html

<!DOCTYPE html>
<html>
    <head>
        <meta charset="utf-8" />
        <title></title>
        <link rel="stylesheet" href="css/index.css">
        <link rel="stylesheet" href="css/index_page.css" />
        <link rel="stylesheet" href="css/reset.css" />
        <link rel="stylesheet" href="css/page.css" />
        <script type="text/javascript" src="js/vue.min.js"></script>
        <script type="text/javascript" src="js/index.js"></script>
    </head>

    <body>
        <div class="header"></div>
        
        <div class="content">
            <div class="content directory"></div>
            <div class="content itemlist"></div>
        </div>
        
        <div class="footer"></div>
    </body>
</html>

效果如下:


image.png

这里给出我个人认为的最好的解决方案,使用伪类元素,再用伪类元素清除浮动。
方案如下:
css.css

.header {
    background-color: #333333;
    width: 100%;
    height: 60px;
}

.content {
    background-color: #FFFFFF;
    width: 100%;
    height: 100%;
}

/*伪类元素*/
.content:after {
    content: "";
    display: block;
    clear: both;
}

.content .directory {
    background-color: chartreuse;
    width: 240px;
    height: 500px;
    float: left;
}

.content .itemlist {
    background-color: #CCCCCC;
    width: 240px;
    height: 500px;
    float: left;
}

.footer {
    background-color: #333333;
    width: 100%;
    height: 100px;
}

效果如下:


image.png

相关文章

  • 清除浮动的几种常用方法

    父元素自适应宽高度,子元素浮动导致高度塌陷 高度塌陷: 示例图: HTML: CSS: 第一种解决方案: 通过给父...

  • 高度塌陷 清除浮动 定位

    高度塌陷 父元素中的子元素浮动,导致父元素塌陷 开发中避免出现 写死父元素高度可以解决,但不能随子元素变化,不推...

  • 前端07day

    高度塌陷: 块元素默认父亲宽,高度由内容撑开父元素高度由子元素撑开浮动后塌陷 解决高度塌陷: BFC 1.父元素的...

  • 塌陷,导航,定位

    高度塌陷 块元素默认父亲宽,高度由内容撑开父元素高度由子元素撑开浮动后塌陷解决高度塌陷:BFC 1.父元素的垂直...

  • 高度坍塌

    高度塌陷发生的场景 当父元素的高度由内容撑开,子元素浮动后(脱离文档流)子元素浮动后,父元素识别不了子元素的...

  • 浮动导致的父容器高度塌陷

    浮动导致的父容器高度塌陷是指由于浮动元素脱离文档流,页面渲染时无法计算上浮动元素的高度,导致父元素的高度没有被撑开...

  • 高度塌陷

    父元素是由子元素抻开的,子元素设置了浮动之后,子元素就脱离文档流了,父元素无法抻开,就会形成高度塌陷解决高度塌陷B...

  • 高度塌陷、BFC开启、去除项目符号

    高度塌陷:父元素由子元素高度撑开,但子元素浮动,脱离文档流,此时无内容支撑,父元素塌陷 BFC:块的格式化属性;默...

  • 前端零碎知识集锦

    float元素 浮动会让元素塌陷。即被浮动元素的父元素不具有高度。例如一个父元素包含了浮动元素,它将塌陷具有零高度...

  • 清除浮动

    浮动元素脱离文档流,所以不占位置,当父元素没有设置高度时,不能撑开,导致父元素的高度塌陷,所以需要清除浮动。 方法...

网友评论

      本文标题:子元素浮动导致父元素高度塌陷解决方案

      本文链接:https://www.haomeiwen.com/subject/chenwctx.html