什么是BFC?

BFC(Block formattin context), 直译:“块级格式化上下文”。在页面上形成一个隔离的独立容器,容器里面的子元素不会影响外面的元素。反之亦是。

那些元素具备BFC的条件?

不是所以元素都能产生BFC,w3c规范只有display属性为block,list-item,table的元素,会产生BFC。如:div,h1~h6,p,ul,ol,li等。

如何触发BFC?

具有产生BFC条件,但是触发才能产生BFC,创造封闭的环境。
触发条件:

  • float属性不为none;
  • position为absolute或fixed;
  • display为inline-block,table-cell,table-caption,flex, inline-flex;
  • overflow不为visible;

BFC元素的特性

布局规则:

  1. 在BFC元素中,里面的元素从顶端开始垂直一个个排列。
  2. BFC的元素垂直方向的距离由Margin决定,属于同一个BFC内的两个相邻的元素的margin会发生重叠。
  3. BFC的元素不会与浮动的元素产生交集,而是紧贴浮动边缘。
  4. 计算BFC高度时候,自然会检测浮动或者定位的盒子高度。
    简而言之,触发了BFC的元素,是一个独立的渲染区域,不受外界干扰,外界也不受其里面的布局干扰。

BFC的主要用途

  1. 清楚元素内部浮动。只要把父元素设为BFC就可以清理子元素的浮动。常见的在父元素设置overflow:hidden;
  2. 解决外面局合并问题。同属一个BFC的两个盒子的margin会发生重叠,只需要创建不属于一个BFC的盒子就不会发生margin重叠。
  3. 制作右侧(左侧)自适应的盒子。普通流元素BFC后,为了和浮动元素不产生任何交集,顺着浮动边缘形成自己封闭上下文。

什么是BFC?如何触发BFC相关推荐

  1. 触发bfc的html元素,什么是BFC? CSS 使用伪元素清除浮动的方法

    BFC概念: 块级格式化上下文,是一个独立的渲染区域,让处于 BFC 内部的元素与外部的元素相互隔离,使内外元素的定位不会相互影响. 我们先了解一个名词:BFC(block formatting co ...

  2. 什么是BFC机制,如何触发BFC(消除浮动带来的父元素塌陷、垂直方向margin重叠、嵌套块级元素父元素margin塌陷)

    BFC机制 BFC(Block Formatting Context):块格式化上下文 BFC是 W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行定位,以及与其余元素的关系和相互 ...

  3. 什么是BFC,如何触发BFC,BFC的作用

    BFC:块级格式化上下文 理解:BFC属于普通流,相当于一块独立的渲染区域,BFC看成是元素的一种属性, 当元素拥有了BFC属性后,这个元素就可以看做成隔离了的独立容器.容器内的元素不会影响容器外的元 ...

  4. 前端CSS必知:BFC及其触发条件

    文章目录 1. bfc的理解(块级格式化上下文) 2. 触发bfc的方式 3. bfc解决的问题:外边距合并,检测浮动高度,制作右侧自适应盒子 4. bfc布局规则特性 5. 两栏布局 6. 块元素高 ...

  5. 什么是BFC?聊聊BFC及其应用

    什么是BFC?聊聊BFC及其应用 什么是BFC? 怎样能创建BFC?BFC在哪里? BFC的应用 解决margin重叠问题 解决高度塌陷的问题 什么是BFC?这个在刚接触前端时候一直困扰自己的东西,知 ...

  6. CSS中的BFC BFC详解 BFC可以解决的问题汇总

    CSS中的BFC BFC详解 BFC可以解决的问题汇总 简介 BFC 全称 Block Formatting Context, 名为 "块级格式化上下文"它是CSS2.1规范定义的 ...

  7. margin 塌陷bug 触发bfc

    1.bfc block format context 2.如何触发一个盒子的bfc position:absolute; display: inline-block float:left/right; ...

  8. 为什么会有BFC?BFC是什么?如何触发?BFC解决了什么问题?

    前端程序员在布局页面时,经常会遇到各种烦人的小问题,比如:每个元素都是一个盒子,盒子外的父元素应该不会受到盒内子的子元素影响,可是事实是这样的吗? 往往,我们会看到子元素浮动后,父元素高度没有了,两栏 ...

  9. BFC的布局规则以及触发条件

          1   .BFC的含义 :          Block Formatting Contexts(BFC)                                      块级元 ...

最新文章

  1. 7 12次c语言上机作业,第十二次C语言上机实验参考答案
  2. 分支语句、循环语句、函数初步
  3. c语言文件fputs和fgets,文件的读写问题,fputs和fgets问题!!!!
  4. angularjs php登录验证,AngularJs表单验证的方法
  5. 《C++语言基础》实践参考——友元类
  6. 如何修改layui数据表格绑定的开关事件?
  7. UITableView优化之按需加载
  8. 实验7 寻址方式在结构化数据访问中的应用
  9. 序列两两比对算法_学会正确选择多序列比对(coding-sequences)软件
  10. NES模拟器[H_NES]
  11. 火车头伪原创php,火车头伪原创插件使用教程
  12. 人工智能 —— 计算智能概述
  13. 移动端手机 摇一摇加声音
  14. 导航地图2_自定义标注
  15. Switch模拟器调研
  16. 计算机右键无法新建excel,右键新建中没有excel怎么删除_右键新建中没有excel怎么办...
  17. MATLAB回归分析命令——regress命令
  18. 【转】24个GE SFP/10 GE SFP+端口是什么意思
  19. backtrader和vnpy哪个更好用?
  20. 你看到的都是招数,不是内功

热门文章

  1. 2019最新iOS面试题及答案
  2. vx2阀(未完待续)
  3. hiper – web_Web设计行业分析–专业人士与业余者[信息图]
  4. 文件系统专栏 | 之文件系统架构
  5. 弹幕视频网站的盈利模式 ——以哔哩哔哩弹幕网为例
  6. 360与腾讯qq的战争
  7. 图像在计算机中通过什么方式表示_图像处理入门
  8. javaweb JAVA JSP汽车配件销售系统jsp配件销售网站 (jsp电子商务系统,购物商城)在线购物案例
  9. 钉钉视频回放下载【史上最全!!全干货!!!】
  10. 设计模式---状态模式(State Pattern)