BFC应用

什么是BFC

文档流

普通流

根据元素在html中的顺序,自上而下渲染页面。
行内元素自左向右渲染,行被占满则换行。
块级元素每一块都新增一行。

非普通流

浮动脱离文档流。
绝对定位脱离文档流,不会对其他元素产生影响。

Block Formatting Contexts (块级格式化上下文) 普通流

处于BFC的元素不会对外界元素影响。

触发BFC

  • body 根元素
  • 浮动元素:float 除 none 以外的值
  • 绝对定位元素:position (absolute、fixed)
  • display 为 inline-block、table-cells、flex
  • overflow 除了 visible 以外的值 (hidden、auto、scroll)

如何利用BFC

  • BFC元素不会与float元素重合
<div style="float: left; width:100px; height:100px; background: red">left</div>
<div style="overflow: hidden; background: pink; height: 100px">right</div>
image.png
  • 清除浮动 撑开元素
<div style="width: 200px; border: 10px solid blue;">
  <div style="float: left; width: 100px; height: 100px; background: red;">float</div>
</div>
image.png

将父级div设置为BFCoverflow: hidden

<div style="width: 200px; border: 10px solid blue;overflow: hidden">
  <div style="float: left; width: 100px; height: 100px; background: red;">float</div>
</div>
image.png
  • 边距重叠
    在相同BFC中,块级元素的margin会重叠

原文链接

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 初步了解定义 请先耐心阅读BFC的定义和构成前提,然后再看它的作用。 BFC全名:Block Formatting...
    microkof阅读 376评论 0 2
  • 1.解决margin叠加问题 三P每个p之间的距离为50px,发生了外边距叠加。 要解决这个叠加问题即让每个P之间...
    岁月帮凶ds阅读 516评论 1 0
  • CSS盒模型: 一 基本概念: 分为标准模型+IE模型。 二 标准盒模型和IE盒模型的区别。CSS如何设置这两种盒...
    却忘不掉你心言阅读 746评论 0 0
  • BFC是什么?BFC如何生成? 1.BFC(Block Formatting Context )块级格式化上下文。...
    饥人谷_LEO阅读 896评论 0 0
  • 一、边距合并当同时设置margin,在一个父容器里,渲染规则是类似的额的,有多个元素时,相邻元素边距会进行合并,用...
    崔敏嫣阅读 348评论 0 0