BFC 的作用

2016-12-14  本文已影响17人  Hunter_Gu

BFC 的定义:

后,这些元素不是块级元素,但会有块级特性。即形成了BFC(块级格式上下文)。
  形成BFC后,该区域就是一个独立的空间,可以和其他容器之间作区分。
  同一个BFC中,元素布局就会像普通文档流一样,从上到下,从左到右;浮动元素的布局就按照浮动元素特性的布局。当然同一个BFC内会存在外边距合并
  但是两个BFC内的元素不会相互影响,不会有外边距合并。
形成 BFC 主要可以解决由于浮动导致父元素高度塌陷的问题。

<div class="ct">
    <div class="box"></div>
    <div class="box"></div>
    <div class="box"></div>
</div>

对应的CSS

    .ct{
        border: 1px solid red;
    }
    .box{
        float: left;
        width: 50px;
        height: 50px;
        background-color: green;
        margin: 20px;
    }

形成 BFC 后:

    .ct{
        border: 1px solid red;
        position: absolute;
/*或者
        float: left | right;
        display: inline-block;/*table-cell|table-caption*/
        overflow: hidden | auto;
*/
    }
    .box{
        float: left;
        width: 50px;
        height: 50px;
        background-color: green;
        margin: 20px;
    }

形成BFC可以解决浮动导致的父元素高度塌陷问题,但是父元素本身也会因为CSS设置,形成特定的特性(如浮动,绝对定位等)。

    .ct{
        border: 1px solid red;
    }
    .ct:after{
        content: '';
        clear: both;
        display: block;/*必须是block*/
    }
上一篇 下一篇

猜你喜欢

热点阅读