css3之BFC、IFC、GFC和FFC
CSS2.1中只有BFC和IFC, CSS3中才有GFC和FFC。
What's FC?
一定不是KFC,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中的line box一般左右都贴紧整个IFC,但是会因为float元素而扰乱。float元素会位于IFC与与line box之间,使得line box宽度缩短。 同个ifc下的多个line box高度会不同。 IFC中时不可能有块级元素的,当插入块级元素时(如p中插入div)会产生两个匿名块与div分隔开,即产生两个IFC,每个IFC对外表现为块级元素,与div垂直排列。
那么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又有什么区别呢?首先同样是一个二维的表格,但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 定义了伸缩容器内伸缩项目该如何布局。
css3之BFC、IFC、GFC和FFC相关推荐
- css3中的BFC,IFC,GFC和FFC(转载)
作者原文网址:http://www.cnblogs.com/dingyufenglian/p/4845477.html What's FC? 一定不是KFC,FC的全称是:Formatting C ...
- (37) BFC IFC GFC FFC概念
一.什么是FC? Formatting Contexts,是W3C CSS2.1规范中的一个概念.它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作 ...
- BFC/IFC/GFC/FFC分别是什么?
BFC
- css----BFC,IFC,GFC,FFC的区别
FC:Formatting Contexts,是W3C CSS2.1规范中的一个概念.它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用. BFC ...
- 【转】前端的BFC、IFC、GFC和FFC
什么是BFC.IFC.GFC和FFC CSS2.1中只有BFC和IFC, CSS3中才有GFC和FFC. FC的全称是:Formatting Contexts,是W3C CSS2.1规范中的一个概念. ...
- BFC、IFC、GFC、FFC
BFC.IFC.GFC.FFC CSS2.1中只有BFC和IFC, CSS3中才有GFC和FFC. 那么到底什么是BFC.IFC.GFC和FFC呢? What's FC? 一定不是KFC,FC的全称是 ...
- BFC到底是什么?IFC、GFC、FFC?
1.BFC的定义 我们常说的文档流分为普通流.浮动流与定位流三种. FC(formatting context格式化上下文),指的是一块渲染区域,依靠渲染规则,决定其子元素如何布局及与其他元素的关系和 ...
- BFC、IFC、GFC 和 FFC
CSS2.1中只有BFC和IFC, CSS3中才有GFC和FFC. BFC BFC(Block Formatting Contexts)直译为"块级格式化上下文".Block Fo ...
- 什么是BFC、IFC、GFC、FFC?
首先要知道:BFC和IFC出现在CSS2.1中,直到CSS3中才有GFC和FFC. FC是什么? FC的全称是:Formatting Contexts,是W3C CSS2.1规范中的一个概念.它是页面 ...
最新文章
- FEC(Forward Error Correction)前向纠错 UDP\RTP 中使用用于改善无线等网络丢包等问题--转...
- php 不可以连接远程mysql数据库
- Mybatis XML文件的异常
- 友盟-上传开发发布证书
- html显示elasticsearch,ElasticSearch查询:高亮显示(10)
- boost::safe_numerics::automatic相关的测试程序
- (收藏)[Unix] vi基本操作方法
- python3安装json库-python库json快速入门
- java中怎样创建线程_java中的线程创建和使用
- Linux CAT与ECHO命令详解 <<EOF EOF
- 管鲍计算机教室管理系统,管鲍多媒体电子教室
- 计算机启动dos,开机怎么进入dos_开机怎么进入dos界面
- 记录百度点击登录无响应及百度搜索显示异常
- SCAFFOLD: Stochastic Controlled Averaging for Federated Learning
- python基础学习的书籍
- 4个最好的PDF搜索引擎
- 工业物联网体系架构概述及基于工业物联网的智能制造
- C语言的冒泡排序优化及鸡尾酒排序问题分解知识点
- 如何从短信链接打开跳转到微信App内
- 长安大学计算机考研资料汇总
热门文章
- Mixly for Mac米思齐安装过程遇到的问题(已解决)
- 为什么女性朋友容易患上拇外翻?
- 台风下雨天出行要注意 穿鞋不当危害足部健康
- ISO 14443 非接触式射频卡标准学习
- 一文带你了解200G DAC高速线缆
- oracle 朱志辉_甲骨文(Oracle)授权教育中心落户我校
- TimerTask.cancel() 与 Timer.cancel() 的区别
- 关于调节ijkPlayer的音量和静音
- python做工控机_工控机折腾小记
- 基于 Amazon Amplify 构建自己的首个 iOS 应用程序(二)