CSS布局-BFC

40 阅读1分钟

什么是BFC?

全称:Block format context 块级格式化上下文。是一块独立渲染区域,它内部元素的渲染不会影响边界外的元素

有什么用?

一般常用于:清除子元素的浮动

举例说明: 一个块元素,一个img图片

对应的样式:

    .container {
        background-color: #f1f1f1;
    }
    .left {
        float: left;
    }
    .bfc {
        overflow: hidden; /* 触发元素 BFC 的方式之一 */
    }


<div class="container bfc">
    <img src="xxxxx" class="left" style="magin-right: 10px;"/>
    <p class="bfc">某一段文字……</p>
</div>

如果容器container没有开启BFC的话,它内部的图片因为设了float会跑出去,给它的父亲加了BFC之后,即便内部的图片浮动也不会跑出去,而是把父容器撑大

如何让元素开启BFC?

(1)给这个元素也设置float,但不是none的情况,那这个元素就形成了BFC

(2)给这个元素设置position 是absolute 或 fixed ,这个元素就形成了BFC

(3)样式增加一个属性overflow,取值不是visiable的值,这个元素就形成了BFC

(4)display是flex /inline-block等