CSS 世界的结界 ——BFC

BFC 全称为 block formatting context,中文为“块级格式化上下文”。

“结界”这个词大家应该都理解的,指通过一些特定的手段形成的封闭空间,里
面的人出不去,外面的人进不来,具有极强的防御力。BFC 的特性表现如出一辙。

大家请记住下面这个表现原则:如果一个元素具有 BFC,内部子元素再怎么翻江倒海、翻
云覆雨,都不会影响外部的元素。所以,BFC 元素是不可能发生 margin 重叠的,因为 margin
重叠是会影响外面的元素的;

BFC 元素也可以用来清除浮动的影响,因为如果不清除,子元素
浮动则父元素高度塌陷,必然会影响后面元素布局和定位,这显然有违 BFC 元素的子元素不会
影响外部元素的设定。

那什么时候会触发 BFC 呢?常见的情况如下:
• <html>根元素;
• float 的值不为 none;
• overflow 的值为 auto、scroll 或 hidden;
• display 的值为 table-cell、table-caption 和 inline-block 中的任何一个;
• position 的值不为 relative 和 static。


换言之,只要元素符合上面任意一个条件,就无须使用 clear:both 属性去清除浮动的
影响了。因此,不要见到一个<div>元素就加个类似.clearfix 的类名,否则只能暴露你孱
弱的 CSS 基本功。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值