美文网首页
使用 float 父元素高度塌陷解决方法

使用 float 父元素高度塌陷解决方法

作者: 扫地僧练级 | 来源:发表于2023-12-17 12:07 被阅读0次

使用 float 父元素高度塌陷问题

例如:

     <style>
      .content {
        background-color: red;
      }
      h1,
      p {
        float: left;
      }
    </style>

    <div class="content">
      <h1>float</h1>
      <p>aaaaaaaaaaa</p>
      <p>
        bbbbbbbbbbb
      </p>
    </div>

问题: 子元素使用 float 后, 父元素的高度变成 0px

分析: 元素浮动之后, 会脱离文档流, 周围的元素会重新排列, 当父元素没有足够的高度, 又没有其他非浮动的子元素的时候,父元素的高度就会塌陷为 0

解决 1: 父元素底部增加一行代码, 清除浮动, 如下

<div style="clear:both;"></div>

缺点: 增加了没啥意义的空标签, 不建议

解决 2: 使用 CSS 中的 after 伪元素

给父元素设置新的 class: clearfix 后设置 css

  .clearfix:after{
        content: ".";
        display: block;
        height: 0px;
        clear: both;
        visibility: hidden;
   }

这个类似于第一种, 不过是通过 after 伪元素给父元素末尾增加一个看不见的块元素, 并设置了元素的 clear:both, 高度为 0, 不可见

解决 3: 利用 BFC 来给父元素增加 CSS

.content{
       overflow:auto;
  }

除此之外 display:table-cell;或 display:table-caption;或 display:inline-block;或 position:fixed;或 position:absolute 这些也可以,它们可以清除浮动,其实是因为触发了 BFC(块级格式化上下文)

解决 4: 大师级别的-尼古拉斯大师方法

.clearfix:after,
.clearfix:before{
      content: " ";
      display: table;
}
.clearfix:after{
      clear: both;
}

现在大多数人都会采用最后一种方式来清除浮动

相关文章

  • 前端零碎知识集锦

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

  • 高度塌陷

    高度塌陷 父元素撑起子元素的宽高度 但通过float设置子元素分离 这就是高度塌陷 BFC 设置模块的打开和关闭,...

  • 05-高度塌陷和定位(补)

    父元素会被子元素撑开, 脱离文档流后父元素高度塌陷 解决方法: 给父元素加高度 隐藏属性 BFC 等我们开启后就会...

  • html css js 基础六(清除浮动)

    由于元素使用了float,使得父级的高度塌陷,也就是父级的高度撑不起来。所以就需要清除浮动。清除浮动的意思其实是清...

  • 前端07day

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

  • 塌陷,导航,定位

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

  • 高度塌陷、清除浮动、元素垂直居中

    高度塌陷: 定义:父元素没有设置高度,子元素设置了浮动(float)属性解决办法:清除浮动(仅清除浮动的负面影响,...

  • 父元素由于子元素使用float而无法自适应高度

    本文介绍由于子元素使用float导致父元素无法自适应子元素的高度的解决方法。 背景 正常情况下,父元素不需要设置高...

  • 子元素设置float,父元素高度塌陷

    问题:给元素设置 float:right,发现给父元素加的margin-bottom:15px失效(其实不是失效,...

  • css世界学习笔记

    第三章 1. 块级元素 blocktablelist-item 清除浮动影响 float会造成父元素高度塌陷,清除...

网友评论

      本文标题:使用 float 父元素高度塌陷解决方法

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