美文网首页
什么是BFC?救救可怜的孩子吧

什么是BFC?救救可怜的孩子吧

作者: JennyWeb | 来源:发表于2019-06-20 08:30 被阅读0次

前言:在我们学习css的时候会遇到一个概念:BFC,这个知识点经常会在面试中被问到,很多人都回答的模棱两可,那么我们今天来探讨一下究竟什么是BFC,它的原理以及他的应用场景,在学习此篇文章前你要知道的知识有定位、盒模型、float、常规流(流式布局)~

BFC(Block Formatting Context),即块格式化上下文,什么时候会用到呢?
比如,解决子元素设置margin-top时,导致父元素向下移动

.box{//父级盒子
  width: 300px;
  height: 300px;
  background: pink;
}
.content{//子级盒子
  width: 100px;
  height: 100px;
  background: blue;
  margin-top:30px;//设置了margin-top
}

效果如下:


效果图.png

图中,红色框就是设置的margin-top的高度,解决方案是 在父级元素上加overflow:hidden属性
效果如下:

效果图.png
你可能想不到的是,此时我们已经创建了一个BFC了!

BFC的创建方法:(满足下列的任意一个或多个条件即可)

1、浮动 (元素的float不为none);
2、绝对定位元素 (元素的position为absolute或fixed);
3、行内块inline-blocks(元素的 display: inline-block);
4、表格单元格(元素的display: table-cell,HTML表格单元格默认属性);
5、overflow的值不为visible的元素;
6、弹性盒 flex boxes (元素的display: flex或inline-flex);
我们在布局中,最常见的就是overflow:hidden、float:left/right、position:absolute。也就是说,每次看到这些属性的时候,就代表了该元素以及创建了一个BFC了。想来竟如此简单~

BFC实际中的作用

自适应布局、清除浮动、防止margin重叠

作者的理解是 -----当我们在布局中使用了margin(可能会导致边距重叠)、position(绝对和固定定位导致元素脱离我们的布局)、float(会脱离文档流),以上的情况导致了接下来的布局可能位置会不对,会乱跑哒、会重叠哒~所以,我们使用BFC的一些方法,让那些已经脱离文档流的元素在一个个独立的小盒子里,不会影响其他盒子的布局。
看完此篇文章,希望能帮助你理解BFC哦~祝学习工作顺利

相关文章

  • 什么是BFC?救救可怜的孩子吧

    前言:在我们学习css的时候会遇到一个概念:BFC,这个知识点经常会在面试中被问到,很多人都回答的模棱两可,那么我...

  • 救救这个可怜的孩子吧

    事故发生在2013年6月23日,周六,下午十五点左右,沧县崔尔庄附近。 一家三口开车去往吴桥,孩子的姥姥家,谁知却...

  • 救救孩子

    救救可怜的孩子吧,我到现在都不明白,这软件怎么赚钱的。。。

  • 感谢救世主

    可怜的救世主,救救父亲吧 我愿用毕生善良,真诚对待这个世界 可怜的救世主,救救我的尊贵的父亲吧 我愿用我的一片虔诚...

  • 2018-08-21

    救救孩子吧

  • 问题日

    救救这个孩子吧? ················································...

  • 【救救孩子吧!】

    【救救孩子吧!】 这段时间,负能量新闻好像从没断过。 而今早,我的三观真的被颠覆了。 今早看到网络上流传的一张抖音...

  • 救救孩子吧

    孩子牙都坏了,救救孩子吧 情景一 爷爷奶奶:哎呀宝宝,来来来,吃糖啊,爷爷奶奶家糖多的嘞 宝宝剥开糖纸吃了起来 爸...

  • 救救孩子吧

    经历了一个月的红歌,在这周终于有了结果,早起从天黑唱到天明,虽然同学们也都有抱怨,可同学们也都有一个明确的目标,...

  • “救救孩子吧!”

    这不是啥关于生死的话题,但是!双十一要到啦!石家庄突然降温啦,好冷啊啊啊啊!!!要买衣服啦!没钱啦。 ...

网友评论

      本文标题:什么是BFC?救救可怜的孩子吧

      本文链接:https://www.haomeiwen.com/subject/qtulqctx.html