bfc环境

在网页的排版布局中,都会用到float(浮动)来让网页的排版更加自由,突破块级元素独霸一行的特性。但是当我们将这些块级元素进行浮动后,我们会发现这些块级元素已经脱离了原本的文档流,

跳出三界不在五行中了。这会给我们带了很多不必要的麻烦。这时候就需要用到BFC了。博主在刚接触BFC时也对其懵懵懂懂,但本着不懂不能装懂,不懂就要弄懂的原则,参考了网上这种大神对BFC的

解释说明后,在这里分享下自己所理解的BFC,希望对初学者们有些帮助。

  那么什么是BFC?

  首先,我们需要知道BFC为Block Formatting Context缩写,中文解释为块级格式化上下文。

  其次,我们也需要明白BFC不是HTML/CSS里的一个标签元素属性这类,它是一个环境,是一个独立的渲染区域,它规定了内部的块级别的BOX如何布局,且BFC内和BFC外各不相干。

  最后,需要条件触发才能生成BFC环境。那么问题又来了,哪些元素会触发生成BFC呢?

    1.根元素。

    2.当Float属性不为none时。

    3.position为absolute或fixed

    4.overflow不为visible

  看到这里,肯定一大半人也还没能明白,那我们先来看个示例:

 

  上面这段代码是很常见的,一个div里面嵌套两个div,显示结果就是两个div锤子排列。当我们需要两个div水平排列时候,我们常常会将div1和div2进行一个浮动。加入如下代码  

 .div1,.div2{

        float:left;
      }

  这时候两个div便会水平排列。但是这时候你会发现原本包含在一个div里面的两个div已经是独自成块了,没有一个父级元素了,且浮动后的div还会影响到周围其他的布局。这时候

我们就需要用到BFC环境了,我们常常会利用overflow元素的hidden属性来触发BFC。

  

.div1,.div2{
             overflow:hidden;
           }            

  加入上述代码后,原本浮动后脱离文档流的两个div现在又从新回到 .father 的怀抱了。

  利用overflow:hidden来触发BFC是博主常常用到的。

  今天暂且分享这个常常会遇到的问题,其实BFC作用的地方也还挺多的,其他的待我们下次再详谈。

  如有对BFC了解更为全面的,欢迎给博主指正。

时间: 2024-09-29 23:34:40

bfc环境的相关文章

产生BFC环境的几种方式

1.根元素 2. float属性不为none3.position为absolute或fixed 4.display为inline-block, table-cell, table-caption, flex, inline-flex 5.overflow不为visible

BFC的形成条件和特性分析

初学CSS时,我们学到很多有意思的CSS规则,比如外边距塌陷,还有浮动元素的一些特性等,其实这些规则背后都是BFC这个东西在控制,下面我们来看下BFC到底是什么. 什么是BFC BFC(Block formatting contexts),翻译过来就是块级格式化上下文,指的是一种上下文环境,我们暂且不管它为什么叫这么晦涩冗长的名字,先看看哪些情况能形成BFC,然后看看它有哪些特性,这样我们也就知道它是什么了.就像我们学习js的对象一样,了解一个对象的原型,以及它的属性方法,我们也就知道它是什么了

一些BFC

我们可能会遇到这样的一些问题,比如:子元素浮动,父元素高度塌陷:父元素跟随子元素一起移动等 这是我们可以通过触发BFC来解决这样的问题. BFC为"块级格式化上下文".它是一个独立的渲染区域,相当于是一个独立的环境.为一个元素里面创建这样的 环境,而这个元素本身是没有的,不会对周围的其他元素造成影响. 简单点就是:BFC就是?页?面上的?一个隔离的独?立容器,容器?里?面的?子元素不会影响到外?面的元素.反之也如此 BFC布局的一些相关规则: 1.内部的BOX垂直一个一个放置: 2.垂

BFC与haslayout

前几天学习的时候看到了BFC这个词,好奇之余在网上查了相关文章,终于搞明白了BCF到底是什么东西.发现自己布局时早已使用过其特性解决问题,只是不知道这个具体概念以及内在原理.下面就谈谈我对BFC的理解吧. BFC是(Block Formatting Context)的缩写,中文翻译过来是块格式化上下文,是W3C CSS 2.1 规范中的一个概念,在CSS3中,BFC  叫做  Flow Root.其实从其字面意思上我们已经可以看出些端倪:context——上下文:其实我自己理解的就是提供参照,那

CSS之BFC

BFC(Block Formatting Context,块格式上下文) 具有BFC特性的元素能够看作是隔离了的独立容器,容器里面的元素不会在布局上影响到外面的元素. 在CSS3中.BFC叫做Flow Root. 在CSS2.1中.有三种定位方案--普通流(Normal Flow),浮动(Float)和绝对定位(Absolute Positioning). (1)怎样触发BFC? 下列情况将创建一个BFC环境: (a)浮动(元素的float非none) (b)绝对定位元素(元素的position

CSS3(三)BFC、定位、浮动、7种垂直居中方法

目录 一.BFC与IFC 1.1.BFC与IFC概要 1.2.如何产生BFC 1.3.BFC的作用与特点 二.定位 2.2.relative 2.3.absolute 2.4.fixed 2.5.z-index属性 2.6.菜单 2.7.:target伪类 三.浮动 3.1.float取值 3.2.float的特性 3.3.清除浮动 3.3.1.清除外部浮动 3.3.2.清除内部浮动 四.多种居中办法 4.1.块标签自身水平居中 4.2.块标签内对齐 4.3.垂直居中方法一 4.4.垂直居中方法

CSS3与页面布局学习总结(三)——BFC、定位、浮动、7种垂直居中方法

一.BFC与IFC 1.1.BFC与IFC概要 BFC(Block Formatting Context)即“块级格式化上下文”, IFC(Inline Formatting Context)即行内格式化上下文.常规流(也称标准流.普通流)是一个文档在被显示时最常见的布局形态.一个框在常规流中必须属于一个格式化上下文,你可以把BFC想象成一个大箱子,箱子外边的元素将不与箱子内的元素产生作用. BFC是W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行定位,以及与其他元素的关系

认识和理解css布局中的BFC

认识和理解css布局中的BFC BFC的定义 是 W3C CSS 2.1 规范中的一个概念,它决定了元素如何对其内容进行定位,以及与其他元素的关系和相互作用. Block Formatting Context 的元素的特点 其子元素会一个接一个地放置.垂直方向上他们的起点是一个包含块的顶部,两个相邻的元素之间的垂直距离取决于 ‘margin’ 特性. 相邻的块级元素的垂直边距会折叠(collapse). 每一个元素左外边(margin)与包含块的左边相接触(对于从右到左的格式化,右外边接触右边)

揭开CSS中BFC的面纱

引言: 这篇文章是我对BFC的理解及总结,带你揭开BFC的面纱.你将会知道BFC是什么,形成BFC的条件,BFC的相关特性,以及他的实际应用. 一.何为BFC BFC(Block Formatting Context)格式化上下文,是Web页面中盒模型布局的CSS渲染模式,指一个独立的渲染区域或者说是一个隔离的独立容器. 二.形成BFC的条件 1.浮动元素,float 除 none 以外的值:       2.定位元素,position(absolute,fixed):       3.disp