BFC 布局

BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。
BFC的布局规则
内部的Box会在垂直方向,一个接一个地放置。

Box垂直方向的距离由margin决定。属于同一个BFC的两个相邻Box的margin会发生重叠。

每个盒子(块盒与行盒)的margin box的左边,与包含块border box的左边相接触(对于从左往右的格式化,否则相反)。即使存在浮动也是如此。

BFC的区域不会与float box重叠。

BFC就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。反之也如此。

计算BFC的高度时,浮动元素也参与计算。

如何创建BFC
1、float的值不是none。
2、position的值不是static或者relative。
3、display的值是inline-block、table-cell、flex、table-caption或者inline-flex
4、overflow的值不是visible
BFC的作用
1.利用BFC避免margin重叠。
2.自适应两栏布局
3.清除浮动。

overflow:hidden

参考:
https://blog.csdn.net/sinat_36422236/article/details/88763187

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域,只有...
    前端二营长阅读 301评论 0 1
  • 写页面时会遇到: 子元素float父元素的高度不会撑开; 在布局时,box1and box2,其中box1 flo...
    ml火guo阅读 1,185评论 0 2
  • BFC(Block Formatting Contexts -- 块格式化布局)布局是需要其他属性值设置为某些特定...
    刘松阳阅读 357评论 0 0
  • 定义 BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域...
    Arno_z阅读 2,570评论 1 5
  • 之前在开发的时候,总会遇到margin塌陷,浮动布局等问题,也知道怎么去解决,但始终不知道其内部原理,后来也是通过...
    自信即巅峰阅读 924评论 0 6