学习BFC心得

首先要明确BFC是什么意思,其全英文拼写为 Block Formatting Context 直译为“块级格式化范围”。
     它的作用是决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用。
     其通俗理解可以理解为一个BFC块就是一个独立的单位,其互不打扰。
     BFC块的表现规则有一下几个情况:
      1. 在BFC块中的元素,其子元素按照文档流一个接一个的放置。垂直方向上他们的起点是一个包含块的顶部,两个相邻的元素之间的垂直距离取决于‘margin’特性。这里要注意外边距塌陷的问题,在Css中Collapsing marign的特性1就是在相邻的普通文档流中的块框在垂直位置的空白边会发生margin重叠现象。垂直方向上相邻的两个外边距(margin)会合并成一个,最终的大小,是两个中较大的。 然而BFC可以解决这个问题,方法是将这个两个容器添加至一个具有BFC特性的包裹容器中。
      2. 每一个元素左外边会与包含块的左边相接触
      3. BFC是一个独立容器,里面的子元素不会再布局上影响到外面的元素,外面的元素也不会影响其元素。
      4. BFC元素不可以与浮动元素重叠
      5. 当包容容器有足够的剩余空间时,浏览器会将BFC放在浮动元素所在行的剩余空间内。
     BFC块如何产生:
      1. float的值不为none
      2. overflow的值不为visible
      3. display的值为table-cell,table-caption,inline-block中的任何一个
      4. position的值不为relative和static
     BFC的能力:
      1. 不和浮动元素重叠
      2. 清除元素的内部浮动 (
        在进行普通流中的块级非替换元素的高度计算时,浮动子元素不参与计算。在计算生成了 block formatting context 的元素的高度时,其浮动子元素应该参与计算。所以,触发外部容器BFC,高度将重新计算。比如给outer加上属性overflow:hidden触发其BFC。
         )
      3. 清除外边距塌陷。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值