【面试】BFC(块级格式化上下文)

本文详细介绍了块级格式化上下文(BFC)的概念及其布局规则,包括如何创建BFC,以及BFC能解决的典型问题,如包裹浮动元素、解决margin塌陷等。

1.box(盒子)

页面的基本构成元素,分为inline,block,inline-block三种类型的box.

 

2.FC(Formatting Context) 

Formatting Context是W3C规范中的一种概念。它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。

常见得Formatting Context有Block formatting context(简称BFC)和inline formatting context(简称IFC).

 

3.BFC的定义 

Block formatting context 直译为 块级格式化上下文。是一个独立的渲染区域,只有Block-level box参与,它规定了内部的block-level box如何布局,且与这个区域的外部毫不相干。

 

4.BFC布局规则

  1.   内部的box会在垂直方向,一个接一个地放置 
  2.   box垂直方向的距离由margin决定。属于同一个BFC的两个相邻box的margin会发生重叠
  3.   每个元素的margin box的左边,与包含块border box 的左边相接触,即使存在浮动也如此
  4.   BFC的区域不会与float元素重叠(一般用来清除浮动)
  5.   BFC就是页面上一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。
  6.   计算BFC的高度时,浮动元素也参与计算

 

BFC布局规则示例

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

<!DOCTYPE h
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值