0
点赞
收藏
分享

微信扫一扫

BFC详解

冶炼厂小练 2022-03-24 阅读 72

BFC

1、什么是BFC

​   BFC是块格式化上下文的意思,指在浏览器中创建一个独立的渲染区域,在该区域中无论如何布局都不会影响到区域外的元素不会v,并且这个渲染区域只对块级元素起作用。

2、常见触发方式

 1)浮动元素

​    float属性值不为none

 2)绝对定位元素

​    position的属性值为absolute或者fixed

 3)overflow不为visible的块级元素

 4) display为inline-block,table-cell,table-caption,flex,inline-flex

3、应用场景

 1)清除内部浮动

​   可参考父盒子添加overflow清除浮动

 2)解决margin叠加的问题

​    一般情况下,当盒子上下排列的时候,上盒子magin-bottom:100px,下盒子margin-top:100px,此时两个盒子叠加,间距之后100px。为了解决这个问题,我们就要出发BFC,给其中一个盒子添加父级元素

<style>
    /* 注释掉表示触发BFC前 */
    /* .div1 {
        overflow: hidden;
    } */
    .div2 {
        width: 200px;
        height: 200px;
        background-color: rgb(210, 231, 250);
        margin-bottom: 100px;
    }

    .div3 {
        width: 200px;
        height: 200px;
        background-color: bisque;
        margin-top: 100px;
    }
</style>

<body>
    <div class="div1">
        <div class="div2"></div>
    </div>
    <div class="div3"></div>
</body>

在这里插入图片描述
         ( 图一 触发前 )                            ( 图二 触发后 )

  由图可知,触发了BFC之后,两个盒子之间的间距变成了200px

3)自适应两栏布局

​    用BFC先设置右侧overflow:hidden;,再设置左侧float: left;

<style>
    .div1 {
        position: relative;
        width: 100%;
    }

    .div2 {
        width: 300px;
        height: 220px;
        background-color: rgb(210, 231, 250);
        float: left;
    }

    .div3 {
        width: 200px;
        height: 200px;
        background-color: bisque;
        overflow: hidden;
    }
</style>

<body>
    <div class="div1">
        <div class="div2"></div>
        <div class="div3"></div>
    </div>
</body>

在这里插入图片描述

举报

相关推荐

BFC

学习BFC

BFC简述

前端BFC

什么是BFC

BFC规范

0 条评论