css之子元素浮动,父元素高度自适应
-
浮动元素
-
float: => 浮动的属性有 left, right
-
当使用了浮动元素后,元素将脱离文本流, 不占用原本的位置。
此时父元素若无固定高度,将会出现坍塌现象。
要使得父元素高度自适应, 则以下三种方法
1 : 当子元素浮动后, 父元素无设置宽高, 要使其自适应, 在 闭合标签前添加一个 div元素, 并 设置clear:both 的属性
此方式只适用于少量不重复的代码块, 否则多个元素在闭合标签前都需要添加一个空元素,对后期的修改不方便
2: 给一个空的元素 添加:after 伪类, 并使伪类 添加clear:both, 和 display: block;
确保 伪类是一个块状元素, 否则无法撑起父元素的高度
使用伪类 : after 和 :before 存在兼容性
3: 在父元素添加一个 overflow: hidden 的属性即可
使用溢出隐藏会对于某些代码在超出父级元素的宽高时隐藏,应在不同场景使用不同方法