块级格式化上下文BFC

BFC(Block formatting context)直译为"块级格式化上下文",它既不是一个css属性,也不是一段代码。而是css2.1规范中的一个概念。
可以将bfc看成元素的一个属性,触发了元素的bfc后,此时元素就相当于一个箱子,是一个独立的渲染区域。
bfc布局规则

  • BFC有隔离作用,BFC中的内部元素不会受外部元素的影响(反之亦然)
  • 在一个BFC中,元素按照正常文档流排列
  • 在一个BFC中,两个相邻的块盒子在垂直方向的margin会合并
  • BFC中的内容不会与外面的浮动元素重叠
  • 计算BFC的高度是,它内部的浮动元素也会被计算进行(所以BFC可以清除浮动)

如何触发bfc(即如何为元素设置这个属性)
如何触发BFC(如何创建BFC)?
如果元素中有下面中的任意一个属性,将触发bfc。
根据w3c对bfc的定义,一个HTML元素要创建BFC,则满足下列的任意一个或多个条件即可:

  • float的值不是none。 //left,right
  • position的值不是static或者relative。//absolute,fixed
  • display的值是inline-block、table-cell、flex、table-caption或者inline-flex
  • overflow的值不是visible的块元素 //scroll,hidden
  • 根元素,也就是html元素本身就触发了BFC
    在这里插入图片描述

BFC用途

  • 清除浮动(可以看浮动那一篇博客)
  • 解决外边距重叠
  • 宽度自适应的两栏布局

演示利用BFC解决外边距重叠现象

这里是引用
在这里插入图片描述
在这里插入图片描述

演示宽度自适应的两栏布局

利用BFC中的内容不会与外面的浮动元素重叠这一特点,来实现宽度自适应的两栏布局
在这里插入图片描述
在这里插入图片描述
如果没加overflow:hidden,则效果如下
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值