前端因float造成父元素高度塌陷及其解决方案(清除浮动)

tech2022-08-26  129

描述:父元素高度自适应 ,子元素 float后,造成父元素高度为0,称之为高度塌陷问题。 解决方案: 1.给父元素 一个固定高度,即:

父元素{height:value} /*缺点 :违背了高度自适应原则。*/

2.给父元素设置

父元素{overflow:hidden} /*优点:简单,便于使用。 缺点:当子元素 存在定位,显示在父元素框之外部分将会被隐藏掉。*/

3.在浮动的子元素的末尾添加一个空div,并设置样式

.clear{ clear:both; height:0; overflow:hidden; } /*注:overflow:hidden;主要用来解决在IE6下 会显示出来的问题;** 优点:所有浏览器都支持。 缺点 :代码冗余。 */

4.万能清除浮动法;

父元素::after{ content:""; display:block; clear:both; height:0; overflow:hidden; visibility:hidden; } /*优点:官方推荐的解决高度塌陷问题的方法。*/
最新回复(0)