高度塌陷问题处理

Posted by xiongmao; tagged with none

高度塌问题:
  在浮动布局中,父元素的高度默认是被子元素撑开的
  当子元素浮动后,其会完全脱离文档流,子元素从文档流中脱离
  将会无法撑起父元素的高度,导致父元素的高度丢失

  父元素高度丢失以后,其下的元素会自动上移,导致页面的布局混乱
方法一:
利用clearfix类,这个样式可以同时解决高度塌陷和外边距重叠问题

 .clearfix::before,
        .clearfix::after{
            content: '';
            display: table;
            clear: both;
        }

方法二:不推荐使用了解

解决方法
 使用BFC属性,BFC是一个隐藏属性
 开启BFC该元素会变成独立的布局区域
BFC特点:
 1.开启 BFC的元素不会被浮动元素所覆盖
 2.开启BFC的元素子元素和父元素外边距不会重叠
 3.开启BFC的元素可以包含浮动的子元素

  • 开启方法
     1.设置浮动元素(不推荐。会使宽度丢失,包含子元素)
     2.将元素设置为行内块元素(不推荐)
     3.将元素的overflow设置为一个非visible的值
    常用overflow:hidden开启BFC 以使其可以包含浮动元素