深入BFC块级格式化上下文

来源:互联网 发布:增值税算法公式 编辑:程序博客网 时间:2024/06/11 14:32

Box:CSS布局的基本单位
BOX是CSS布局的对象和基本单位,直观的说,一个页面由很多歌BOX组成,元素的类型和display属性决定了这个BOX的类型。不同类型的BOX,会参与不痛的formatting context,因此BOX内的元素会以不同的方式渲染。

  • block-level box:下有介绍
  • inline-level box:display属性为inline,inline-block,inline-table的元素等……
  • run-in box:css3中有

BFC:块级格式化上下文。它是一个独立的渲染区域,只有Block-level box参与,规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。常说的文档流分为定位流、浮动流和普通流三种。而普通流其实就是指BFC中的FC(Formatting context格式化上下文)。常见的FC有BFC(块级格式化上下文)、IFC(行级格式化上下文)、GFC(网格布局格式化上下文)和FFC(自适应格式化上下文);

触发BFC的条件或元素:
- 根元素,HTML元素
- float:left、right
- overflow的值不为visible
- display的值为inline-block、table-cell、table-caption
- position的值为absolute或fixed

BFC的布局规则:

  • 内部BOX在垂直放下,一个接一个放置;
  • BOX垂直方向的距离由margin决定。属于同一个BFC两个相邻的BOX的margin会发生重叠(坍塌)
  • 每个元素的margin box的左边,与包含块border box的左边相接触。即使浮动
  • BFC的区域不会与float box重叠
  • BFC就是页面上的一个隔离的独立容器,容器子元素不会影响到外面的元素,反之亦然
  • 计算BFC的高度,浮动元素也参与计算

BFC的应用:
- 自适应两栏布局】‘
- 组织元素被浮动元素覆盖
- 包含浮动元素——清楚内部浮动
- 阻止margin坍塌
- 在线应用网站http://www.cnblogs.com/xiaohuochai/p/5248536.html#undefined

原创粉丝点击