首页 > 其他 > 详细

BFC布局

时间:2017-09-12 17:35:31      阅读:550      评论:0      收藏:0      [点我收藏+]

我们常说的文档流分为普通流、浮动流与定位流三种。

FC(formatting context格式化上下文),指的是一块渲染区域,依靠渲染规则,决定其子元素如何布局及与其他元素的关系和作用。

FC分为BFC、IFC、GFC和FFC,其中BFC(block formatting context)块级格式化上下文

BFC特点

1.内部的box会在垂直方向上,一个接一个地放置

2.box垂直方向的距离由margin决定,属于同一个bfc的两个box相邻的margin会发生重叠

3.每个元素margin box的左边,与包含box的左边相接触,即使是float box

4.bfc的区域不会与float box重叠

5.bfc是一个隔离的独立容器,容器内的子元素不会影响外面的元素

6.计算高度时浮动元素也参与

 

BFC触发条件

1.根元素,即html

2.float不为none

3.position为absolute或fixed

4.display为inline-block、table-cell、table-caption、flex、inline-flex

5.overflow不为visible

 

常见应用

1.清除浮动元素

通过设置overflow:hidden 闭合浮动,这个不做赘述

2.margin叠加

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            .up {
                width: 100px;
                height: 100px;
                background: red;
                margin: 50px;
            }
            .down {
                width: 100px;
                height: 100px;
                background: green;
                margin: 50px;
            }
        </style>
    </head>
    <body>
        <div class="up"></div>
        <div class="down"></div>
    </body>
</html>

由于up与down都处于html当中,所以默认margin叠加

技术分享

使用div包裹其中一个,并将此div转化为BFC布局,则可实现叠加

<!DOCTYPE html>
<html>
    <head>
        <meta charset="UTF-8">
        <title></title>
        <style type="text/css">
            .up {
                width: 100px;
                height: 100px;
                background: red;
                margin: 50px;
            }
            .cont-down {
                overflow: hidden;
            }
            .down {
                width: 100px;
                height: 100px;
                background: green;
                margin: 50px;
            }
        </style>
    </head>
    <body>
        <div class="up"></div>
        <div class="cont-down">
            <div class="down"></div>
        </div>
        
    </body>
</html>

技术分享

BFC布局

原文:http://www.cnblogs.com/yanze/p/7511089.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!