美文网首页
浮动塌陷

浮动塌陷

作者: 时间的溺水者 | 来源:发表于2022-04-05 23:12 被阅读0次

什么是浮动塌陷

在文档流中,若父元素未设置高度,那么父元素的高度默认是被子元素撑开的,即子元素多高,父元素就有多高。但是当子元素设置浮动之后,子元素就会完全脱离文档流,父元素还在文档流中,此时父元素的高度就没有子元素撑起(子元素无法撑起父元素的高度),从而导致父元素的高度塌陷。简单来说,就是包含含有浮动的元素的上一级的高度变为0了,下面的元素会上去,这样会导致页面布局混乱。

浮动塌陷

解决方法

1、父元素结束之前添加一个标签 <div style="clear:both;"></div>

image.png

缺点:增加了无意义的标签

2、给父元素设置overflow:hidden; zoom:1;

缺点:要是子元素要margin负值定位或是负的绝对定位,会被裁掉,所以此方法是有不小的局限性的。

3、让父元素本身也浮动float:left;

缺点:虽然可以撑开父元素,但是会导致父元素的宽度丢失,而且会导致下边的元素上移,使得跟父元素相邻的元素的布局受到影响

4、给父元素一个固定高度,此方法适用于子元素高度已知并且固定的情况。

5、给父元素设置display: inline-block;
缺点:会导致父元素的宽度丢失
6、after伪类+zoom方法清除浮动,给父盒子盒子的after伪元素设置clear属性。,最推荐的方法

.father{
  width: 1000px;
  min-height: 100px;
  background: yellow;
  border: 1px solid yellow;
  zoom: 1;
}
.father:after {
  content: ""; /*生成内容作为最后一个元素,至于content里面是什么没有影响*/
  display: block; /*使生成的元素以块级元素显示,占满剩余空间*/
  height: 0; /*避免生成的内容破坏原有空间的高度*/
  clear: both; /*闭合浮动*/
  visibility: hidden; /*使生成内容不可见,并允许可能生成内容盖住的内容进行点击和交互*/

}

7、某些情况下 position:absolute/fixed(涉及到定位问题)

相关文章

  • 清除浮动,定位

    定位 clear 清除左浮动 清除右浮动 both 可以清除对它影响最大的浮动可以解决高度塌陷 谁塌陷就加上cle...

  • 2019-04-17浮动float

    float: left 浮动也能让块元素并排出现浮动元素脱离文档流,提升层级 浮动父级塌陷 防止父级塌陷 both...

  • 前端

    1.浮动 2.高度塌陷 3.解决高度塌陷

  • 3.1

    1、浮动具有破坏性,元素浮动后,破坏来原来的正常流布局,造成内容塌陷。 浮动的子元素会造成父元素的高度塌陷. 第一...

  • css 浮动塌陷

    来自这里css 子元素设置为float之后,脱离文件流,导致父元素撑不起来,解决办法 父元素也设置为float(不...

  • 前端零碎知识集锦

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

  • CSS 中的浮动

    浮动的定义: 元素脱离文档流 举栗子: 修改 CSS 代码,清除浮动: 浮动的影响: 父元素高度塌陷 清除浮动: ...

  • 解决高度塌陷2

    为什么出现高度塌陷?当我们设置块级元素进行浮动的时候,会导致父元素塌陷,所以需要我们解决高度塌陷问题

  • 浮动、清除浮动、元素塌陷、定位

    浮动特性1、浮动元素有左浮动(float:left)和右浮动(float:right)两种2、浮动的元素会向左或向...

  • CSS----浮动、塌陷

    使用float使元素浮动,从而脱离文档流,可选值: none:默认值 left:脱离文档流,向页面左侧浮动 ...

网友评论

      本文标题:浮动塌陷

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