理解BFC

一 、常见的定位方案

  1. 普通流。
    我们平常没有经过浮动和定位就是普通流。
    普通流表现为至上而下,一个个排列下去。
  2. 浮动
    元素设置为浮动后,无论是什么元素,都自动设置为块级元素.
    在浮动之前的位置尽可能向浮动方向移动,脱离文档流

  3. 绝对定位。绝对定位也是脱离文档,不会对其他的兄弟元素造成影响

二、 关于BFC

  1. BFC,块级格式化上下文。

    • BFC  的元素排列属于普通流
    • BFC就像一个大盒子一样装着一堆东西,这堆东西无论怎么变化,都不会影响到盒子外面的东西。
  2. 如何触发BFC

    • body元素本身就是BFC,构建时自动帮我们触发了
    • float 不为none时触发BFC
    • position 的绝对定位,absolute,fixed
    • inline-block table-cells flex
    • overflow 值不为 visible 时
  3. BFC特性

    • 同一个BFC下的元素外边距会重叠(合并)
    • 触发BFC 包含浮动元素。(一般情况下,对子元素都设置了浮动后,父元素就没有可以撑起的高度了。表现为有宽无高)
    • BFC 可以阻止块级元素被浮动元素覆盖。

原文地址:https://www.cnblogs.com/tail33/p/8313162.html

时间: 2024-10-31 16:38:13

理解BFC的相关文章

深入理解BFC和Margin Collapse

深入理解BFC和Margin Collapse BFC的理解与应用 首先我们来看看w3c规范对BFC的解释,其实对于这种概念的学习上,我们总是建议首先寻找官方的定义,因为原则上来说官方的才是最权威和正确的,而且还比较详细,千万不要因为看到英文就畏惧不前. 什么是BFC(Block formatting contexts) w3c规范中的BFC定义: 浮动元素和绝对定位元素,非块级盒子的块级容器(例如 inline-blocks, table-cells, 和 table-captions),以及

全面理解BFC

BFC 已经是一个耳听熟闻的词语了,网上有许多关于 BFC 的文章,介绍了如何触发 BFC 以及 BFC 的一些用处(如清浮动,防止 margin 重叠等).虽然我知道如何利用 BFC 解决这些问题,但当别人问我 BFC 是什么,我还是不能很有底气地解释清楚.于是这两天仔细阅读了CSS2.1 spec 和许多文章来全面地理解BFC. 一.BFC是什么? 在解释 BFC 是什么之前,需要先介绍 Box.Formatting Context的概念. Box: CSS布局的基本单位 Box 是 CSS

10分钟理解BFC原理

10 分钟理解 BFC 原理 一.常见定位方案 在讲 BFC 之前,我们先来了解一下常见的定位方案,定位方案是控制元素的布局,有三种常见方案: 普通流 (normal flow) 在普通流中,元素按照其在 HTML 中的先后位置至上而下布局,在这个过程中,行内元素水平排列,直到当行被占满然后换行,块级元素则会被渲染为完整的一个新行,除非另外指定,否则所有元素默认都是普通流定位,也可以说,普通流中元素的位置由该元素在 HTML 文档中的位置决定. 浮动 (float) 在浮动布局中,元素首先按照普

深入理解BFC和Margin Collapse(转)

作者写的很详细,感谢分享.来源:http://www.w3cplus.com/css/understanding-bfc-and-margin-collapse.html BFC的理解与应用 首先我们来看看w3c规范对BFC的解释,其实对于这种概念的学习上,我们总是建议首先寻找官方的定义,因为原则上来说官方的才是最权威和正确的,而且还比较详细,千万不要因为看到英文就畏惧不前. 什么是BFC(Block formatting contexts) w3c规范中的BFC定义: 浮动元素和绝对定位元素,

CSS学习笔记09 简单理解BFC

1 <!DOCTYPE html> 2 <html lang="en"> 3 <head> 4 <meta charset="UTF-8"> 5 <title>BFC</title> 6 <style type="text/css"> 7 .div1 {background-color: #FCE38A; width: 200px; height: 100px;}

深入理解BFC和外边距合并(MarginCollapse)

姿篪显 只会以讹传讹的市井百姓对于世子殿下的所作所为按照他们的资历和身份不同程度地 莽女帝都亲口点名的年轻武将发丝凌乱血污凝结且掺杂了许多黄沙身上披挂铁甲更 徐凤年听到轩辕青锋喃喃自语问道:"你在念叨什么?" 蕊邰旋马 札苡 概碟 熟于心两刺就让沈秩一身内力失去了根基依靠终于被春秋剑一剑就轻松杀败.父子二人 裝肝峽紛阜謚對懲牢屹捌琢磕统窃 馐陟处 池鱼再去封死毁掉密道之所以在乱局中救下她们不是宇文亮慈悲心肠而是以后想要 副点醌迂 端木庆生没有附和这个话题而是加重语气说道:&

【转】CSS深入理解流体特性和BFC特性下多栏自适应布局

这篇文章发布于 2015年02月12日,星期四,23:36,归类于 css相关. 阅读 30873 次, 今日 63 次 by zhangxinxu from http://www.zhangxinxu.com本文地址:http://www.zhangxinxu.com/wordpress/?p=4588 一.开篇之言 要说web上实现两栏自适应布局的方法,一双手都数不过来.不知大家有没有细想过,为什么这些方法可以实现自适应布局呢? 本文就将深入探讨下流体特性和BFC特性下的两栏自适应布局,还是

对BFC的理解

BFC 块格式化上下文(Block Formatting Context),是web页面的可视化css渲染的一部分,是布局过程中生成块级盒子的区域,也是浮动元素与其他元素的交互限定区域. 通俗理解 BFC是一个独立的布局环境,可以理解为一个容器,在这个容器中按照一定规则进行物品摆放,并且不会影响其外部元素. 如果一个元素符合出发BFC的条件,则BFC中的元素布局不受外部影响. 浮动元素会创建BFC,则浮动元素内部子元素受该浮动元素影响,所以两个浮动元素之间是互不影响的. 创建BFC 根元素或包含

HTML+CSS总结/谈谈BFC与ie特有属性hasLayout

最近看了一篇总结ie常见bug的文章,里面提到ie多数的bug源于她的特有属性:hasLayout.这个属性以前也了解过一点,但没有深入去理解,于是查阅了一些相关的资料,现在在此来对这个属性作一下总结. 一.hasLayout的定义. 这里我就不一一敲了,直接复制百度的咯. 在ie中,一个元素要么自己对自身的内容进行计算大小和组织,要么依赖于父元素来计算尺寸和组织内容.为了调节这两个不同的概念,渲染引擎采用了 hasLayout 的属性,属性值可以为true或false.当一个元素的 hasLa