关键词:
BFC
BFC(Block Formatting Context) ------ 块级格式化上下文
w3c规范定义:浮动元素和绝对定位元素,非块级盒子的块级容器(inline-blocks,table-cells,table-captions),以及overflow的值不为visiable的块级盒子,都会为它们的内容创建新的BFC
相关定义:
block-level boxes(块级盒)------ 一个 block-level element块级元素 (‘display‘ 属性值为 ‘block‘, ‘list-item‘ 或是 ‘table’) 会生成一个 block-level box,这样的盒子会参与到 block-formatting context (一种布局的方式) 中
block-formatting context(BFC) ------ 在这种布局下,盒子所在的containing block顶部起一个接一个垂直排列,水平方向上撑满整个宽度。
containing block(包含块)------ 盒子本身为其子孙建立containing block,用于计算内部盒子的位置、大小。
哪些元素会触发BFC:
1.根元素;
2.float属性不为none;
3.position为absolute或者fixed
4.display:inline-block,table-cell,table-caption,flex
5.overflow不为visible
BFC布局准则:
1.内部盒子在垂直方向上,一个个垂直放置
2.其不会和float(浮动元素)重叠
3.其垂直方向由margin决定,同一BFC布局下的元素的margin会重叠
4.在其布局下,子元素的内容不管怎么变化都不会影响到其外部元素
5.其高度会把float浮动元素的高度也算进去
6.元素的左边会和其包含的盒子的左边想接触,存在浮动也是如此
BFC的用途:
1.由于不会和浮动元素进行重叠,所以在自适应的两栏布局上起到了很好的作用。
2.可以清除内部的浮动
3.可以去margin重叠,因为不同BFC布局下的元素margin不会重叠
样例分析:
自适应两栏布局
<div>
<img class="leftbox" src="../images/none_new.png">
<div class="rightbox">
<h3>开发商</h3>
<span>sdfsdfsdfsdfs士大夫撒旦法</span>
</div>
</div>
左边图片左浮动,右边内容可以设置BFC布局,不会和浮动元素进行重叠。
广为流传的俩种两栏自适应布局:
.rightbox{overflow: hidden;*display:inline-block;} //缺点是hidden可能会隐藏溢出部分
.rightbox{display: table-cell;width:2000px;*display: inline-block;*width: auto}
IFC
IFC( Inline Formatting Contex) ------ 内联格式化上下文
w3c规范定义:从父元素的顶部开始,盒子一个接着一个横向排列,横向的margin/border/padding在这些盒子中都是有效的。盒子间可能通过不同的方式垂直对齐(底部、顶部、文字基线对齐)。
相关定义:
line box (行盒模型) ----- 根据块状容器内,每一行的多个内联元素共同生成一个行盒模型。当内联盒子的宽度超过line box,内联盒子会被分解成几个盒子,然后分布在几个line box里面,如果内联盒子不能被分解(例如:单词或者white-space:nowrap),它就会超过line-box。
影响布局的css:
1.font-size
2.line-height
3.height
4.vertical-align
css布局的各种fc简单介绍:bfc,ifc,gfc,ffc
什么是FC?FormattingContext,格式化上下文,指页面中一个渲染区域,拥有一套渲染规则,它决定了其子元素如何定位,以及与其他元素的相互关系和作用。BFC什么是BFCBlockFormattingContext,块级格式化上下文,一个独立的块级渲染区... 查看详情
css之bfc
...器,容器里面的元素不会在布局上影响到外面的元素。在CSS3中。BFC叫做FlowRoot。在CSS2.1中。有三种定位方案——普通流(NormalFlow),浮动(Float)和绝对定位(AbsolutePositioning)。(1)怎样触发BFC? 下列情况将创 查看详情
css之bfc
1,定义 BFC为块级格式化上下文,也就是一块区域内的封闭空间,里面元素无论怎么样,都不会影响外部元素。2,触发条件html根元素display的值为inline-block、table-cell和table-caption中的任何一个position的值不为relative和st... 查看详情
前端的bfcifcgfc和ffc
什么是BFC、IFC、GFC和FFCCSS2.1中只有BFC和IFC,CSS3中才有GFC和FFC。FC的全称是:FormattingContexts,是W3CCSS2.1规范中的一个概念。它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系... 查看详情
css3与页面布局学习总结——bfc定位浮动7种垂直居中方法
一、BFC与IFC1.1、BFC与IFC概要BFC(BlockFormattingContext)即“块级格式化上下文”,IFC(InlineFormattingContext)即行内格式化上下文。常规流(也称标准流、普通流)是一个文档在被显示时最常见的布局形态。一个框在常规流中必... 查看详情
css3bfc定位浮动7种垂直居中方法
一、BFC与IFC1.1、BFC与IFC概要1.2、如何产生BFC1.3、BFC的作用与特点二、定位2.2、relative2.3、absolute2.4、fixed2.5、z-index属性2.6、菜单2.7、:target伪类三、浮动3.1、float取值3.2、float的特性3.3、清除浮动3.3.1、清除外部浮动3.3.2、清除内部... 查看详情
bfc布局与ifc布局以及普通文档流布局(代码片段)
BFC布局BFC(BlockFormattingContext)块级格式化上下文。它是一个独立的渲染区域。它决定了块级元素如何对它的内容进行布局,以及与其他元素的关系和相互关系。块级元素:父级(是一个块元素)内容:子元素ÿ... 查看详情
深入理解css之bfc
BFC的定义BFC的全称是blockformattingcontext(块状格式化上下文),当BFC起作用的时候,其元素内部无论怎么翻江倒海都不会影响到外部元素,同样,外部元素的变化也不会影响到BFC内部元素,这就跟结界一样,你可以理解为有一个... 查看详情
深入理解css之bfc
BFC的定义BFC的全称是blockformattingcontext(块状格式化上下文),当BFC起作用的时候,其元素内部无论怎么翻江倒海都不会影响到外部元素,同样,外部元素的变化也不会影响到BFC内部元素,这就跟结界一样,你可以理解为有一个... 查看详情
bfc
一、BFC(blockformattingcontext)Formattingcontext是W3CCSS2.1规范中的一个概念。它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。最常见的Formattingcontext有Blockfomattingcontex... 查看详情
css之bfc机制
...formattingcontent,格式化上下文;是web页面中盒模型布局中的css渲染模式,是一个独立的渲染区域或说一个隔离的独立容器。二,形成条件1,浮动元素,float除none以外的值。2,定位元素,position(absolute,fixed)3,display为inline-block,table-c... 查看详情
什么是bfcifcgfc和ffc
什么是BFC、IFC、GFC和FFCCSS2.1中只有BFC和IFC,CSS3中才有GFC和FFC。FC的全称是:FormattingContexts,是W3CCSS2.1规范中的一个概念。它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系... 查看详情
bfc布局与ifc布局以及普通文档流布局(代码片段)
BFC布局BFC(BlockFormattingContext)块级格式化上下文。它是一个独立的渲染区域。它决定了块级元素如何对它的内容进行布局,以及与其他元素的关系和相互关系。块级元素:父级(是一个块元素)内容:子元素ÿ... 查看详情
css常见样式总结之水平垂直居中方案及bfc小结
平时写CSS样式不注意总结,用的时候写是会写但具体应用场景和组合方式一不小心就混淆,导致效率不高,还要借助文档,本文针对CSS常用样式水平垂直居中解决方案进行总结,也便于自己以后复习,好记性不如烂笔头。针对BFC... 查看详情
深入理解bfc
在解释BFC之前,先说一下文档流。我们常说的文档流其实分为定位流、浮动流和普通流三种。而普通流其实就是指BFC中的FC。FC是formattingcontext的首字母缩写,直译过来是格式化上下文,它是页面中的一块渲染区域,有一套渲染规... 查看详情
整理css之bfc原理
首先回顾下CSS常出现的几个样式问题1当子元素添加上边距时,父元素也会向下移动解决方法:给子元素添加display:inline-block;或者用父元素的padding-top代替给可以2子元素浮动后,父级元素检测不到其高度3当元素浮动后,兄弟元素的... 查看详情
整理css之bfc原理
首先回顾下CSS常出现的几个样式问题1当子元素添加上边距时,父元素也会向下移动解决方法:给子元素添加display:inline-block;或者用父元素的padding-top代替给可以2子元素浮动后,父级元素检测不到其高度3当元素浮动后,兄弟元素的... 查看详情
bfc布局
...定其子元素如何布局及与其他元素的关系和作用。FC分为BFC、IFC、GFC和FFC,其中BFC(blockformattingcontext)块级格式化上下文BFC特点1.内部的box会在垂直方向上,一个接一个地放置2.box垂直方向的距离由margin决定, 查看详情