高度塌陷

一般情况下,我们不会给父元素设置指定的高度,都是让他被内容撑开的。如果我们给子元素设置浮动,子元素会脱离文档流。一旦元素脱离文档流了,子元素就不能再撑开父元素的高度了,导致父元素的高度丢失,而且会导致页面布局混乱,这就叫高度塌陷。

解决高度塌陷方法一

给父元素设置固定高度,但这种方式不推荐使用

<style type="text/css">.outer {border: 10px red solid;height: 100px;}.inner {width: 100px;height: 100px;background-color: blue;float: left;}.box3 {height: 100px;background-color: yellow;}</style></head><body><div class="outer"><div class="inner"></div></div><div class="box3"></div></body>

解决高度塌陷方法二

给元素开启隐含属性BFC(块级格式化上下文),一旦元素开启隐含属性BFC后
元素就具有一些独有的特点,这些特点可以解决一些问题,其中就包括高度塌陷
1、开启BFC后,元素具有哪些特点?
(1)、父子外边距就不会重叠了(解决父子外边距重叠的问题)
(2)、开启BFC的元素就不会被浮动元素所覆盖
(3)、开启BFC的元素可以包裹住浮动的元素(解决高度塌陷问题)

2、如何开启BFC属性
(1)、设置overflow样式,样式值只要是非visible
也就是说可以设置hideen,auto,scroll等
其中hideen是副作用最小(推荐使用)
(2)、设置元素浮动(不推荐)
确实可以解决父元素高度丢失的问题,但也会带来一些新问题,父元素也会脱离文档流,
页面布局依然会混乱,而且父元素的宽度也会丢失
(3)、将元素转成行内块元素(不推荐)
可以解决父元素高度丢失的问题,但也带来一些新问题,父元素的宽度丢失了,
而且三像素也出现
(4)、将元素设置绝对定位 position: absolute;(不推荐)
确实可以解决父元素高度丢失的问题,但也会带来一些新问题,父元素也会脱离文档流,
页面布局依然会混乱,而且父元素的宽度也会丢失

<style type="text/css">.outer {border: 10px red solid;height: 100px;/* 开启BFC */overflow: scroll;display: inline-block;position: absolute;}.inner {width: 100px;height: 100px;background-color: blue;float: left;}.box3 {height: 100px;background-color: yellow;}</style></head><body><div class="outer"><div class="inner"></div></div><div class="box3"></div></body>

解决高度塌陷方法三

在浮动子元素的下方设置一个空的块元素,然后借助clear属性来消除浮动元素对空的块元素的浮动影响。缺点:在结构里面多了一个空的块元素。

<style type="text/css">.box1 {border: 10px solid red;}.box2 {width: 100px;height: 100px;background-color: blue;float: left;}.box3{height: 100px;background-color: yellow;}.box4{clear: both;}</style></head><body><div class="box1"><div class="box2">box2</div><!-- 空的块元素 --><div class="box4"></div></div><div class="box3"></div></body>

解决高度塌陷问题方法四

结合伪类after以及clear来解决
       通过伪类after,在元素的后面添加内容,将这个内容转成块元素,再清除其他浮动元素对这个块元素的浮动影响。
       一般情况下,我们会给这个写法单独设置一个类名,哪里需要解决高度塌陷问题,就给对应的位置添加类名,这种方式也是最常用的解决高度塌陷问题的方法。

<style type="text/css">.box1 {border: 10px solid red;}.clearfix::after{/* 添加的元素不会独占一行 */content: '';/* 将添加的元素转成块元素 */display: block;/* 清除浮动元素对空的块元素的影响 */clear: both;}.box2 {width: 100px;height: 100px;background-color: blue;float: left;}</style></head><body><div class="box1 clearfix"><div class="box2"></div></div><p class="p1 clearfix"><div class="p2"></div></p></body>

html高度塌陷问题相关推荐

  1. css 子元素设置float,父元素高度塌陷

    以div元素为例.div元素的高度会通过内容自动撑开.也就是说,内容有多少,高度就有多高.但是当内部元素设置了float属性之后,会是父元素高度塌陷 <div class="conta ...

  2. HTML-完美解决父子元素的外边距重叠和高度塌陷问题

    HTML-完美解决父子元素的外边距重叠和高度塌陷问题 参考文章: (1)HTML-完美解决父子元素的外边距重叠和高度塌陷问题 (2)https://www.cnblogs.com/hack-ing/p ...

  3. 解决父级元素高度塌陷问题的方法

    解决父级元素高度塌陷问题的方法 参考文章: (1)解决父级元素高度塌陷问题的方法 (2)https://www.cnblogs.com/anxiaobei/p/3905187.html 备忘一下.

  4. html高度塌陷问题解决

    html高度塌陷问题解决 参考文章: (1)html高度塌陷问题解决 (2)https://www.cnblogs.com/devilgod/p/9660314.html 备忘一下.

  5. CSS高度塌陷问题-清除浮动

    对于一个元素来说,如果他设置了浮动,则就会转化为块元素类型,可以设置width,height等.但是浮动会使元素脱离正常文档流,如果浮动元素的高度大于父元素的高度,则会使得浮动元素脱离父元素,也就是我 ...

  6. css 高度塌陷_HTML+CSS入门 HTML高度塌陷以及定位详解

    本篇教程介绍了HTML+CSS入门 HTML高度塌陷以及定位详解,希望阅读本篇文章以后大家有所收获,帮助大家HTML+CSS入门. < 高度塌陷的含义: 父元素的高度,默认被子元素撑开,目前来讲 ...

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

    同学们在进行页面布局的时候,经常会使用到float浮动进行样式控制,但如果我们没有设置父元素的高度的时候使用浮动就会导致后面的子元素出现问题,也就是高度塌陷.下面小千就给大家介绍几种常见的解决CSS高 ...

  8. 【小记】-006--关于高度塌陷的问题

    最近遇到一个问题:当使用 position:absolute 时,给父元素添加 position:relative 父元素高度塌陷,此时如何使得父元素的高度被子元素撑开? 我了解到的高度塌陷无非就是: ...

  9. HTML浮动导致高度塌陷,HTML 文档流,设置元素浮动,导致父元素高度无法自适应的解决方法(高度欺骗)...

    元素浮动定义 float 属性定义元素在哪个方向浮动.以往这个属性总应用于图像,使文本围绕在图像周围,不过在 CSS 中,任何元素都可以浮动.浮动元素会生成一个块级框,而不论它本身是何种元素. 如果浮 ...

  10. css 高度塌陷_web前端入门到实战:CSS 负边距的行为表现

    CSS 中的负边距 margin 是可以设置为负值的,这会帮你实现靠近顶部/左边相邻元素的效果,或者实现靠近底部/右边相邻元素的效果. 先介绍下我们的测试元素:一个简单的包含三个段落的容器元素.注意, ...

最新文章

  1. 连环清洁工之特殊任务--java资源如何关闭?
  2. 随机数文件,上传到hdfs的特定目录/logs下,用mr求和
  3. linux/ubuntu下简单好用的python opencv安装教程 ( 解决 imshow, SIFT, SURF, CSRT使用问题)
  4. yml不变成小叶子_关于鹤望兰,你不知道的小秘密,花农告诉你,大叶子不开花...
  5. LeetCode 893 Groups of Special-Equivalent Strings 解题报告
  6. DNS在什么情况下才能动态更新|活动目录集成的dns区域
  7. Tango学习笔记(1)
  8. AD转换器输入之前接一个电压跟随器是为什么
  9. caffe框架deploy文件中
  10. 计算机中英文字录入教案,文字录入教案.doc
  11. windows7安装中文语言包及文乱码问题解决方法
  12. [SHOI2008]小约翰的游戏John(博弈+SJ定理)
  13. Unity3D+WebGL数据交互、传参
  14. 数据预处理利器 Amazon Glue DataBrew
  15. python 老男孩全套教程-老男孩全栈python视频教程104天【百度网盘】
  16. 免费下载思科CCNP 642-354考试题库
  17. 服务攻防——数据库安全之未授权访问、弱口令
  18. hexo 添加图片,音乐,链接,视频
  19. 《Here on Earth》翻译
  20. Java 反射6-动态代理模式

热门文章

  1. js中for(i in array)和for(i=0;i<array.length;i++)之间的坑
  2. 虚拟机上的Linux系统如何联网?
  3. 解析光纤跳线的5大知识点,让安装使用更顺畅
  4. Quorum (分布式系统)
  5. 2020蓝桥杯模拟赛题目解析(上)
  6. 蒲公英内测托管平台是干什么的?
  7. Chrome 制作绿色便携版
  8. ZYNQ-Linux设备树驱动下的双DMA循环切换传输数据
  9. PyQt(Python+Qt)学习随笔:Qt Designer中部件的调色板palette属性和字体font属性设置
  10. Spark 3.x各模式部署 - Ubuntu