CSS 浮动与浮动塌陷 笔记
一、代码整体说明
示例演示浮动布局以及父级高度塌陷的问题与解决方案。
二、样式解析
通配符清零内外边距
* {margin: 0; padding: 0;}
清除浏览器默认边距,统一页面样式。
父容器 .parent
.parent{
margin:0 auto; /* 盒子水平居中 */
width:1000px; /* 固定宽度 */
overflow: hidden; /* 清除浮动,解决高度塌陷 */
}
子元素浮动
.son1, .son2 {
float: left; /* 左浮动,元素横向排列 */
}
son1:宽占父容器 20%,高 500px,绿色
son2:固定宽 200px,高 200px,蓝色
三、浮动核心知识点
float: left
元素脱离标准文档流,向左并排排列,实现多栏布局。
浮动高度塌陷问题
现象:子元素设置浮动后,父元素高度变为 0,无法被内容撑开。
原因:浮动元素不占据文档流空间。
本例解决方案
overflow: hidden;
给父元素添加该属性,是清除浮动最简单常用的方式,可让父元素自适应子浮动元素高度。
四、补充要点
margin: 0 auto 实现水平居中,必须搭配固定宽度才生效。
除 overflow:hidden 外,清除浮动还有额外写法(伪元素法、额外标签法等)。
浮动元素之间会紧密并排,空间不足时会自动换行。