面试篇:BFC是什么?

前言

该篇内容用于记录大三寻找实习阶段遇到的问题

一、BFC是什么

1.BFC:是w3c中的一个概念,其全称为Block Formatting Context(块级格式化上下文)

2.BFC:是指浏览器中创建了一个独立的渲染区域,并且拥有一套渲染规则,他决定了其子元素如何定位,以及与其他元素的相互关系和作用。

二、BFC特点

(1)我们可以把BFC看作为页面的一块渲染区域,他有着自己的渲染规则

(2)简单来说BFC可以看作元素的一种属性,当元素拥有了BFC属性后这个元素就可以看

(3)作是隔离了的独立容器,容器里面的元素不会在布局上影响到外面的元素。

(4)给父元素触发bfc,可清除浮动

三、BFC布局

(1)bfc内部的盒子会在垂直方向,一个接着一个摆放。

(2)bfc区域不会与float元素重叠,而是紧贴浮动元素。

(3)属于同一个bfc区域的两个盒子的margin会发生重叠。

四、如何触发BFC

(1)float属性的值不为none

(2)position的值为absolute或者fixed

(3)display值为inline-block、table-cell、flex等

(4)overflow值不为visible

五、利用BFC可解决的常见问题

(1)外边距重叠

产生外边距重叠的原因是:属于同一个BFC的两个相邻盒子垂直方向的margin会发生重叠。

解决原理

因为该现象是因为同一个BFC中的两个相邻盒子垂直方向会发生重叠,所以我们可以给其中一个盒子触发其BFC,让该盒子独自形成一个BFC,这样这两个相邻盒子就不属于同一个BFC,自然就解决外边距重叠了。

(2)子元素设置成浮动元素后,会产生高度塌陷的现象

产生原因:其父元素属于正常流,若没有设置高度,则其高度由内容撑开,而当子元素设置成浮动后,其会脱离文档流,固而此时无法撑开父元素,所以会发生高度塌陷。

解决办法

利用BFC的特性:计算BFC高度时,也会检测浮动元素的高度,所以当子元素设置为浮动后,触发其父元素的BFC后,会由清除浮动的效果。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值