什么是BFC、IFC、GFC、FFC?
首先要知道:BFC和IFC出现在CSS2.1中,直到CSS3中才有GFC和FFC。
FC是什么?
FC的全称是:Formatting Contexts,是W3C CSS2.1规范中的一个概念。它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。
BFC是什么?
BFC(Block Formatting Contexts)直译为"块级格式化上下文"。Block Formatting Contexts就是页面上的一个隔离的渲染区域,容器里面的子元素不会在布局上影响到外面的元素,反之也是如此
如何产生BFC?
float的值不为none。
overflow的值不为visible。
position的值不为relative和static。
display的值为table-cell, table-caption, inline-block中的任何一个。
BFC一般有什么用?
常见的多栏布局,结合块级别元素浮动,里面的元素则是在一个相对隔离的环境里运行
IFC
IFC(Inline Formatting Contexts)直译为"内联格式化上下文",IFC的line box(线框)高度由其包含行内元素中最高的实际高度计算而来(不受到竖直方向的padding/margin影响)
IFC作用
- 水平居中:当一个块要在环境中水平居中时,设置其为inline-block则会在外层产生IFC,通过text-align则可以使其水平居中。
- 垂直居中:创建一个IFC,用其中一个元素撑开父元素的高度,然后设置其vertical-align:middle,其他行内元素则可以在此父元素下垂直居中。
GFC
GFC(GridLayout Formatting Contexts)直译为"网格布局格式化上下文",当为一个元素设置display值为grid的时候,此元素将会获得一个独立的渲染区域,我们可以通过在网格容器(grid container)上定义网格定义行(grid definition rows)和网格定义列(grid definition columns)属性各在网格项目(grid item)上定义网格行(grid row)和网格列(grid columns)为每一个网格项目(grid item)定义位置和空间。
GFC和TABLE的区别
GFC和table又有什么区别呢?首先同样是一个二维的表格,但GridLayout会有更加丰富的属性来控制行列,控制对齐以及更为精细的渲染语义和控制。
FFC
FFC(Flex Formatting Contexts)直译为"自适应格式化上下文",display值为flex或者inline-flex的元素将会生成自适应容器(flex container)
属性只有谷歌和火狐支持,不过在移动端也足够了,至少safari和chrome还是OK的,毕竟这俩在移动端才是王道。
Flex Box 由伸缩容器和伸缩项目组成。通过设置元素的 display 属性为 flex 或 inline-flex 可以得到一个伸缩容器。设置为 flex 的容器被渲染为一个块级元素,而设置为 inline-flex 的容器则渲染为一个行内元素。
伸缩容器中的每一个子元素都是一个伸缩项目。伸缩项目可以是任意数量的。伸缩容器外和伸缩项目内的一切元素都不受影响。简单地说,Flexbox 定义了伸缩容器内伸缩项目该如何布局。
什么是BFC、IFC、GFC、FFC?相关推荐
- (37) BFC IFC GFC FFC概念
一.什么是FC? Formatting Contexts,是W3C CSS2.1规范中的一个概念.它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作 ...
- BFC/IFC/GFC/FFC分别是什么?
BFC
- css3中的BFC,IFC,GFC和FFC(转载)
作者原文网址:http://www.cnblogs.com/dingyufenglian/p/4845477.html What's FC? 一定不是KFC,FC的全称是:Formatting C ...
- CSS——FC(BFC/IFC/FFC/GFC)超详细版+原理案例分析
文章目录 一.Box 二.包含块 2.1 确定一个元素的包含块 2.2 EXAMPLE 三.FC(Formatting Context) 四.BFC 1. BFC的形成条件 2. BFC的布局规则 3 ...
- css----BFC,IFC,GFC,FFC的区别
FC:Formatting Contexts,是W3C CSS2.1规范中的一个概念.它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用. BFC ...
- 静态补充CSS之IFC、FFC、GFC讲解
IFC简介 行级格式化上下文Inline Formatting Context IFC布局规则: ①在一个行内格式化上下文中,盒是一个接一个水平放置 ②这些盒之间的水平margin,border和pa ...
- CSS3与页面布局学习笔记(三)——BFC、定位、浮动、7种垂直居中方法
一.BFC与IFC 1.1.BFC与IFC概要 BFC(Block Formatting Context)即"块级格式化上下文", IFC(Inline Formatting Co ...
- 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- ...
- 合格前端系列第九弹-前端面试那些事
2019独角兽企业重金招聘Python工程师标准>>> 项目相关 自我介绍:职业经历,项目经历 选一个你觉得印象最深的项目讲一讲,然后会从项目里面切入到 web 基础(html/cs ...
- CSS魔法堂:重新认识Box Model、IFC、BFC和Collapsing margins
前言 盒子模型作为CSS基础中的基础,曾一度以为掌握了IE和W3C标准下的块级盒子模型即可,但近日在学习行级盒子模型时发现原来当初是如此幼稚可笑.本文尝试全面叙述块级.行级盒子模型的特性.作为近日 ...
最新文章
- 从近两年的CVPR会议来看,目标检测的研究方向是怎么样的?
- c语言在程序中显示现在星期几,C语言程序设计: 输入年月日 然后输出是星期几...
- ctf 绕过php,Bugku-CTF之各种绕过
- Kali Linux与Ubuntu的ssh服务
- python中yaml模块的使用_详解Python yaml模块
- 11.15PMP试题每日一题
- c语言课程设计做科普,【图片】发几个C语言课程设计源代码(恭喜自己当上技术小吧主)【东华理工大学吧】_百度贴吧...
- 我们终将死去,这难道不够美好吗?
- 基于Java毕业设计中国古诗词学习平台源码+系统+mysql+lw文档+部署软件
- 隐藏隧道通信:Socks 隧道
- 出入库单据小票移动打印,盘点机PDA连接蓝牙打印机打印单据小票
- Linux之旅 - 入⻔命令集 - 文件管理(1/2)
- 【02】一个实现h5的拖放的整个过程-魔芋
- ad16 导入dwg_AD16怎样精确导入CAD文件
- 《零基础学C语言》光盘内容
- 毛玻璃效果的登录页面
- 计算机音乐念诗之王,念诗之王(电音版)
- R 多变量数据预处理_R语言常用统计方法包+机器学习包(名称、简介)
- 那些证书相关的玩意儿(SSL,X.509,PEM,DER,CRT,CER,KEY,CSR,P12等)【CSR文件 和 PEM 文件什么区别】
- Win8卸载2345看图王