css之子元素浮动,父元素高度自适应

  • 浮动元素

  • float: => 浮动的属性有 left, right

  • 当使用了浮动元素后,元素将脱离文本流, 不占用原本的位置。
    此时父元素若无固定高度,将会出现坍塌现象。
    要使得父元素高度自适应, 则以下三种方法

1 : 当子元素浮动后, 父元素无设置宽高, 要使其自适应, 在 闭合标签前添加一个 div元素, 并 设置clear:both 的属性

此方式只适用于少量不重复的代码块, 否则多个元素在闭合标签前都需要添加一个空元素,对后期的修改不方便
css之子元素浮动,父元素高度自适应

2: 给一个空的元素 添加:after 伪类, 并使伪类 添加clear:both, 和 display: block;
确保 伪类是一个块状元素, 否则无法撑起父元素的高度

使用伪类 : after 和 :before 存在兼容性

css之子元素浮动,父元素高度自适应

3: 在父元素添加一个 overflow: hidden 的属性即可
使用溢出隐藏会对于某些代码在超出父级元素的宽高时隐藏,应在不同场景使用不同方法
css之子元素浮动,父元素高度自适应