解决高度塌陷问题
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了解决高度塌陷问题,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1367字,纯文字阅读大概需要2分钟。
内容图文
![解决高度塌陷问题](/upload/InfoBanner/zyjiaocheng/991/f7496e41a70d47f5ad3e09ed901e6ccb.jpg)
问题概述:
父元素在文档流中高度默认是被子元素撑开的,当子元素脱离文档流以后,将无法撑起父元素的高度,也就会导致父元素的高度塌陷
父元素的高度一旦塌陷所有元素的位置将会上移,导致整个页面的布局混乱
方法1 开启父元素的BFC或hasLayout
1.1 BFC
1.1.1 Block Formatting Context-块级格式化环境
1.1.2 BFC是元素的隐含属性,默认是在关闭状态的
1.1.3 可以通过一些特殊的样式,来开启BFC
1.1.4 开启BFC以后元素将会具有如下特性
1.1.4.1 父元素的垂直外边距不会与子元素重叠
1.1.4.2 开启BFC的元素不会被浮动元素所覆盖
1.1.4.3 开启BFC的元素可以包含浮动子元素
1.1.5 开启BFC的方式
1.1.5.1设置元素浮动
1.1.5.2设置元素绝对定位
1.1.5.3设置元素的类型为inline-block
1.1.5.4设置overflow为一个非默认值,一般都是使用overflow:hidden来开启BFC
1.2 hasLayout
1.2.1 在IE6中没有BFC,但是有一个和BFC类似的hasLayout
1.2.2 在IE6中可以通过开启hasLayout来解决高度塌陷的问题
1.2.3 副作用最小的开启方式为设置-zoom:1,当为元素设置宽度非默认值时,会自动开启hasLayout
.clearfix{ zoom:1; }
方法2 添加一个空白的div
2.1 在塌陷的父元素的最后添加一个空白的div,然后对该div进行清除浮动
<div class="box1"> <div class="box2"></div> <div style="clear:both"></div> </div>
2.2 使用这种方式会在页面中添加多余的结构
方法3 使用after伪类(推荐)
3.1 使用after伪类,向父元素后添加一个块元素,并对其清除浮动
.clearfix:after{ content:""; display:block; clear:both; } .clearfix{ zoom:1; }
3.2 该种方式的原理和方法2原理一样,但是不用向页面中添加对于的结构
内容总结
以上是互联网集市为您收集整理的解决高度塌陷问题全部内容,希望文章能够帮你解决解决高度塌陷问题所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。