目录

  • 什么是高度塌陷
  • 解决高度塌陷问题

什么是高度塌陷

在文档流中,父元素的高度默认是由子元素撑开的,等于说子元素多高,父元素就多高,但是当为子元素设置了浮动之后,子元素会脱离文档流,此时,将会导致子元素无法撑起父元素的高度,会导致父元素的高度塌陷

高度塌陷会导致的问题
会使父元素下面的兄弟元素都想上移动,会使页面布局变化,影响原来的布局

未塌陷之前

塌陷之后:

解决高度塌陷问题

第一种:
直接设置父元素的高和宽,使其固定
不方便,不推荐,这样设置父元素的高度不会适应子元素的高度

第二种
Block Formatting Context简称BFC属性

BFC属性:
BFC是页面元素的一个隐藏属性,默认是关闭的,当此属性开启则开启他的元素会有如下的特性

父元素的垂直外边距不会和子元素重叠
不会被浮动元素所覆盖
父元素开启后可以包含浮动的子元素

如何开启BFC
BFC不能直接开启,我们只能通过其他方法间接开启

1.设置元素浮动(对于我们解决问题没多大帮助)
      即意思是当这个元素成为了浮动元素,那么他就会开启BFC因为这个时候他确实有了上面三个特性
同时会宽度丢失…=

2.设置元素绝对定位
      以后再说

3.设置元素为inline-block
语法:
dispaly:inline-block
即设置元素为行内块元素
但是此方法,也会导致宽度丢失

4.将元素的overflow设置为一个非visible的值
语法:
overflow:值
可以将overflow的值设置为hidden这是开启BFC副作用最小的方法

overflow相关知识请移步至:地址

在IE6即以下浏览器不支持BFC

在IE6即以下浏览器有一个hasLayout属性作用跟BFC类似
开启方法有很多种,我们用这种:

直接将元素的zoom设置为1
语法:
zoom:1
zoom表示放大的意思,后面的数值为几就放大几倍

在IE6中,指定元素的宽度也会开启他的hasLayout属性

第三种
使用clear(推荐)

步骤:

在高度塌陷的元素里的最后添加一个空白的子元素div
为这个子元素添加clear值为both的属性

原理:
高度坍塌原因就是因为父元素中的子元素无法撑起父元素所至

我们在父元素所有的子元素的最后面设置一个不浮动的div(即不脱离文档流的块元素)

中间不要加内容(有内容会让这个div有自己的大小,不好看,他只需要有块元素的属性就行)

因为他不浮动,所以能撑起父元素

当然,如果要他撑起父元素,那么他就不能受他前面的浮动元素的影响我们就设置它不受浮动影响即设置clera(clear知识请移步至这个文章底部)

然后他这个空块元素就卡在父元素的底部,使整个父元素无法坍塌,而且这个空块元素的位置还会因为前面浮动元素的变化而变化,所以这个解决方法很赞
但是会给页面添加多余的结构

我们还可以用css向父元素后面添加块元素,这样也不会影响html整个结构(最推荐)
IE6不支持

高度塌陷问题和解决高度塌陷问题相关推荐

  1. 深度理解 BFC,解决高度塌陷问题

    相信大家在各类前端学习教程或者视频中都会看到这样一段代码 .clearfix::after {content :'';display: block;clear: both; } 我们也知道教程会说给要 ...

  2. 解决高度塌陷的几种方法

    引入 进行页面布局时,为了能够达到自适应,通常高度是不会进行固定设置的,而使用float进行元素的浮动后,由于没有内容的高度,所以会发生父元素的高度塌陷问题,为了解决此类问题这里给出了几种解决方法. ...

  3. 在html中通过使用css解决高度塌陷问题

    目录 1. 我们先写两个盒子用来演示 2.接下来我们开始演示 解决方法: 1.给父元素添加一个固定的高度 2.给父元素添加一个overflow: hidden; 3.在父元素里最后添加一个空的块元素 ...

  4. 如何解决高度塌陷【超全面】

    高度塌陷是什么? 父元素的高度一般是被子元素或者内容撑开,若设置子元素浮动,则子元素就会脱离文档流,也就撑不开父元素的高度了.从而导致父元素的高度丢失,页面布局混乱 如何解决高度塌陷? 解决高度塌陷的 ...

  5. html标签高度塌陷,CSS中如何解决高度塌陷问题

    CSS中如何解决高度塌陷问题 发布时间:2021-06-11 18:23:40 来源:亿速云 阅读:58 作者:Leah 这篇文章将为大家详细讲解有关CSS中如何解决高度塌陷问题,文章内容质量较高,因 ...

  6. html 表格点击塌陷,HTML解决高度塌陷

    在文档流中,父元素的高度默认是被子元素撑开的,也就是子元素多高,父元素就多高. 但是当为子元素设置浮动以后,子元素会完全脱离文档流,此时将会导致子元素无法撑起父元素的高度,导致父元素的高度塌陷. 由于 ...

  7. HTML外边框塌陷什么意思,html如何解决高度塌陷问题

    本章给大家介绍html如何解决高度塌陷问题.有一定的参考价值,有需要的朋友可以参考一下,希望对你们有所帮助. 高度塌陷的问题: 当开启元素的BFC以后,元素将会有如下的特性: 1 父元素的垂直外边距不 ...

  8. 高度塌陷问题及解决方法

    高度塌陷问题产生的原因 小提示:最优解在文章底部,嫌啰嗦的可以直接跳到底部. 想要了解产生高度塌陷问题的原因,先提及几个知识点: 1.在文档流中,父元素的高度默认是被子元素撑开的. 2.当子元素设置浮 ...

  9. 何为高度塌陷,如何解决?

    前面的文章我们介绍了关于css中的元素浮动,今天我们要讲的高度塌陷问题就是因为元素浮动造成的. 那么何为高度塌陷呢? 在文档流中,父元素的高度默认是被子元素撑开的(没有设置宽高的时候),也就是子元素多 ...

最新文章

  1. 设计一个名为complex的类来表示复数_天线波束设计
  2. html贪吃蛇自动走,分享一个用html5实现的贪吃蛇特效代码
  3. v-show和v-if的区别
  4. 怎样批量调整word 图片大小?
  5. openssl生成https证书 (转)
  6. spring框架学习笔记3:使用注解代替配置文件
  7. java单例代码_java中的单例模式的代码怎么写
  8. POJ 3080 Blue Jeans (后缀数组)
  9. kettle同步数据中文乱码问题解决
  10. linux 命令 语法,linux常用命令及语法
  11. docker 使用技巧
  12. 解码(七):音频重采样SwrContext和swr_convert相关函数详解
  13. 每天学一点Scala之Try
  14. flex 左右布局_移动端开发常用布局:前端弹性布局总结
  15. breakall lisp文件_breakall.lsp下载
  16. 算法导论课后习题答案
  17. Kali Linux破解WiFi密码完整步骤
  18. 一网打尽!所有PMP的计算公式都在这里啦,赶紧学起来(1)
  19. 蓝桥杯 方格计数 Java
  20. 调用高德地图API接口,实现地铁站经纬度采集

热门文章

  1. 贝克曼库尔特Beckman Coulter全自动血液生化分析仪AU5800双工通讯开发
  2. 在JME中遇到org.springframework.http.converter.HttpMessageNotReadableException: JSON parse error: 问题的解决方法
  3. CentOS下安装及配置MySQL
  4. 根据经纬度求1:1万的新图幅号(python3)
  5. 小数如何转化为二进制
  6. JUC-Callable
  7. 旷视天元 MegEngine 开源 CUDA INT4 量化源码实现
  8. Java项目:养老院综合服务系统(java+SSM+JSP+jQuery+echarts+mysql)
  9. Java程序员裸辞,跳槽面试屡屡被拒,终拿美团offer面经分享如下
  10. Go1.13:使用go mod 管理依赖, 提示cannot find module providing package或cannot find main module