浅析CSS里的 BFC 和 IFC】的更多相关文章

前端日刊 登录 浅析CSS里的 BFC 和 IFC 2018-01-29 阅读 1794 收藏 3 原链:segmentfault.com 分享到:   前端必备图书<Web安全开发指南 掌握白帽子的Web安全技能 从源头消除安全隐患 打造安全无虞的Web应用> >> >>  前言 之前一直听到有人提到 CSS里的BFC,正巧在 IFE的练习里遇到了外边距折叠的问题,所以正好弄清楚BFC的机制. (参考来源 见文末的 Reference) 一 什么是 BFC 和之前所有…
1. 为什么会有BFC和IFC 首先要先了解两个概念:Box和formatting context: Box:CSS渲染的时候是以Box作为渲染的基本单位.Box的类型由元素的类型和display属性决定,box的类型分为block-level box 和inline-level box(不包括css3的时候).不同类型的box参与不同类型的formatting context布局. Block-level elements are those elements of the source do…
本文为原创,转载请注明出处: cnzt       文章:cnzt-p http://www.cnblogs.com/zt-blog/p/6708358.html <这是一篇css2-3的布局规则0.000001览> BFC -- block formatting context 块级格式上下文 块级元素(block-level elements)--  display:block/list-item/table/flex块级盒(block-level boxes)--  块级盒是指参与了BF…
一.BFC简介 BFC全称:Block Formatting Contexts (BFC,块级格式化上下文),就是 一个块级元素 的渲染显示规则 (可以把 BFC 理解为一个封闭的大箱子,,容器里面的子元素不会影响到外面的元素) 二.BFC的触发条件(只要元素满足下面任一条件即可触发 BFC 特性) body 根元素: 浮动元素:float 不为none的属性值: 绝对定位元素:position (absolute.fixed): display为: inline-block.table-cel…
CSS之BFC.IFC.FFC and GFC 什么是FC? BFC(Block Formatting Contexts) BFC的布局规则: 如何生成BFC: IFC(Inline Formatting Contexts) FFC(Flex Formatting Contexts) GFC(GridLayout Formatting Contexts) 什么是FC? FC的全称是:Formatting Contexts,是W3C CSS2.1规范中的一个概念.它是页面中的一块渲染区域,并且有一…
什么是FC? Formatting Context,格式化上下文,指页面中一个渲染区域,拥有一套渲染规则,它决定了其子元素如何定位,以及与其他元素的相互关系和作用. BFC 什么是BFC Block Formatting Context,块级格式化上下文,一个独立的块级渲染区域,该区域拥有一套渲染规则来约束块级盒子的布局,且与区域外部无关. BFC的约束规则 内部的BOX会在垂直方向上一个接一个的放置: 垂直方向上的距离由margin决定.(完整的说法是:属于同一个BFC的俩个相邻的BOX的ma…
浮动元素和绝对定位元素,非块级盒子的块级容器(例如 inline-blocks, table-cells, 和 table-captions),以及overflow值不为“visiable”的块级盒子,都会为他们的内容创建新的块级格式化上下文. 在一个块级格式化上下文里,盒子从包含块的顶端开始垂直地一个接一个地排列,两个盒子之间的垂直的间隙是由他们的margin 值所决定的.两个相邻的块级盒子的垂直外边距会发生叠加. 在块级格式化上下文中,每一个盒子的左外边缘(margin-left)会触碰到容…
首先本文中介绍的 BFC. IFC.GFC.FFC 均为 CSS 中常见问题的解读,如没兴趣,可以绕道了. 然后在介绍这么多的 *FC 之前,我们得了解 一下 Box 和 Formatting Context 的概念 Box: css布局的基本单位,也就是我们常说的 盒子模型 盒子模型:它包括:边距[margging],边框[border],填充[padding],和实际内容[width.height] 然后 元素的类型 和 display 属性 会决定这 Box 的类型.不同类型的 Box 会…
FC(Formatting Context)格式化内容,常见的FC有BFC.IFC.FFC.GFC四种类型,BFC和IFC是W3C CSS2.1规范提出的概念,FFC和GFC是W3C CSS3规范提出的概念,其实就是定义了一套页面渲染的规则,决定了盒子以什么样的方式渲染从而占据什么样的位置区域,本文只是简单的学习笔记以供参考. 想要弄懂FC,首先得弄清楚盒子模型,常见的两种盒子模型为: IE盒子模型(怪异模式): width = content-width + padding-width + b…
温故知新,巩固基础 从 FC 开始 FC,Formatting Context,格式化上下文,是 W3C CSS2.1 规范中的一个概念,定义的是页面中一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,及和其他元素的关系和相互作用. 常见的FC有:BFC(Block Formatting Context | 块级格式化上下文)和IFC(Inline Formatting Context | 行内格式化上下文). 其次还有:GFC(GridLayout Formatting Conte…
1. 为什么会有BFC和IFC 首先要先了解两个概念:Box和formatting context: Box:CSS渲染的时候是以Box作为渲染的基本单位.Box的类型由元素的类型和display属性决定,box的类型分为block-level box 和inline-level box(不包括css3的时候).不同类型的box参与不同类型的formatting context布局. Block-level elements are those elements of the source do…
what's BFC? 第一次看到这个名词,我是拒绝的,css什么时候还有这个东西?于是迫不及待的google了一下,才发现原来它无时无刻不在我们的css当中,只不过它并不是一个属性,不需要我们平常使用手写罢了.但是它的重要性确是杠杠的,可以这么说,没有它就就没有什么css布局. BFC,全称 Block Formatting Context,翻译成块级格式化上下文,它就是一个环境,HTML元素在这个环境中按照一定规则进行布局.一个环境中的元素不会影响到其它环境中的布局. 看一大堆文字可能有点抽…
css学习专题-BFC 转自:原文链接:css学习专题-BFC文章目录 BFC:Block Formatting Context. BFC就是一种布局方式,在这种布局方式下,盒子们自所在的 containing block 顶部起一个接一个垂直排列,水平方向上撑满整个宽度 (除非内部的盒子自己内部建立了新的 BFC). developer center上面有对BFC的一段描述: 一个 block formatting context 是web页面可视化CSS渲染的一个部分,是一块 block b…
什么是BFC.IFC.GFC和FFC CSS2.1中只有BFC和IFC, CSS3中才有GFC和FFC. FC的全称是:Formatting Contexts,是W3C CSS2.1规范中的一个概念.它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用. 1.BFC* BFC(Block Formatting Contexts)直译为"块级格式化上下文".Block Formatting Contexts就是页面上的一个隔离的渲染区域…
什么是BFC.IFC.GFC和FFC CSS2.1中只有BFC和IFC, CSS3中才有GFC和FFC. FC的全称是:Formatting Contexts,是W3C CSS2.1规范中的一个概念.它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用.   BFC BFC(Block Formatting Contexts)直译为"块级格式化上下文".Block Formatting Contexts就是页面上的一个隔离的渲染区域,…
先说说FC,FC的含义就是Fomatting Context.它是CSS2.1规范中的一个概念. 它是页面中的一块渲染区域.而且有一套渲染规则,它决定了其子元素将怎样定位.以及和其它元素的关系和相互作用.BFC和IFC都是常见的FC. 分别叫做Block Fomatting Context 和Inline Formatting Context. BFC BFC(Block Formatting Context)叫做"块级格式化上下文".BFC的布局规则例如以下: 1.内部的盒子会在垂直…
软件开发的一般被称为民工,搞前端的,有人形容为是掏粪工,说白了连民工级别高都没有.说直接点就是个制作界面的,注意,连设计界面的都算不上,一般前端都是拿着设计稿去照这样子开发的. 说这些无非是觉得前端前端,却一点也不高端啊,就连逼格高的术语都找不到几个,但少不代表没有,比如Closure.BFC.IFC.GFC和FFC,等等,怎么这么多C啊,C==操?本文就简单列举下这几个C到底都他妈的什么意思,虽然这些东西都没什么卵用,但万一被哪个傻缺面试官来跟你贫这些词汇呢?有备无患. CSS2.1中只有BF…
CSS2.1中只有BFC和IFC, CSS3中才有GFC和FFC. What's FC?一定不是KFC,FC的全称是:Formatting Contexts,是W3C CSS2.1规范中的一个概念.它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用. BFCBFC(Block Formatting Contexts)直译为"块级格式化上下文".Block Formatting Contexts就是页面上的一个隔离的渲染区域,容器里面…
浅析 CSS 中的边距重叠 边距重叠是什么 在说边距重叠之前,先以正常的思维来考虑如果你现在是浏览器引擎遇到这种情况应该怎么办? 现在有两个元素 div1 和 div2 紧挨着,中间没有它元素,它们的外边距就会发生重叠.div1 在左,div2 在右,div1 的 margin-left 为 20px, div2 的 margin-right 为 30px,那两个元素应该距离多少呢? 50px 吗?应该不是的,如果是 50px,那么 div1 的 margin-left 设置的没起作用,距离右边…
前言 说起KFC,大家都知道是肯德基,但面试官问你什么是BFC.IFC.GFC和FFC的时候,你是否能够像回答KFC是肯德基时的迅速,又或者说后面这些你根本就没听说过,作为一名前端开发工程师,以上这些FC(Forrmatting Context)你都得知道,而且必须得做到像肯德基这样印象深刻.下面我将会带大家一起揭开这些FC的真面目,如果你已经了解的请奖励自己一顿肯德基-(注意文明用语,这里别用语气词) FC的全称是:Formatting Contexts,译作格式化上下文,是W3C CSS2.…
CSS inline-block和BCF对于初学者来说,总是弄不太明白,下面记录下我在学习这块知识的过程中遇到的几个问题,供大家参考,有不足的地方,欢迎大家批评指正. 一.在什么场景下会出现外边距合并?如何合并?如何不让相邻元素外边距合并?给个父子外边距合并的范例 定义:当两个垂直外边距相遇时,将形成一个外边距. 合并的场景: 一个元素出现在另一个元素上面时: 示例: 一个元素包含另一个元素时(没有内边距或边框把它们的外边距分开) 如图效果中,父容器box和子元素box1的上外边距合并,与子元素…
最近在网站首页上想将Banner壁纸给做到后台上传随时更改的效果.遇到问题便是:将上传的图片路径动态添加到首页css代码中,结果尝试了网上提供的思路,更改相对路径,换为url中“../../Content/”以及“./Content/”之类的,但实际操作并没能实现新上传的图片路径加载到css代码中.首页部分css代码贴出: /*--banner--*/ .banner { background:url(../images/banner-1.jpg) no-repeat 0px 0px; back…
css是网页的外衣,好不好看全凭css样式,而布局是css中比较重要的部分,下面来分析一下常见的几种布局. 流动模型 流动模型是网页布局的默认模式,也是最常见的布局模式,他有两个特点: 1.块状元素都在所处包含元素内自上而下按顺序垂直延伸分布.常见的块状元素有:div,p,ul,ol,h1~h6,address等 2.内联元素都会在所处包含元素内从左到右水平分布显示.常见的内联元素有:a,span,img,input,textarea等 浮动模型 浮动模型是指使用css将块状元素定义为浮动.用法…
现代浏览器里CSS的职责范围和JavaScript的越来越模糊分不清.比如CSS里-webkit-touch-callout属性在iOS里能禁止当用户点击时弹出气泡框.而本文要说的pointer-events的风格更像JavaScript,它能够: 阻止用户的点击动作产生任何效果 阻止缺省鼠标指针的显示 阻止CSS里的hover和active状态的变化触发事件 阻止JavaScript点击动作触发的事件 一个CSS属性能做所有的这么多事情! 这个pointer-events属性有很多可以使用的属…
在我们做的网页上通常最重要的其中一点就是美观度,bfc他是一个块级格式化上下文,它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干. 因为我现在天天在做网页了,之前没怎么关注bfc与ifc原理,以至于我做出来的网页有点偏差.所以要深刻学习以下知识. bfc:指它里面的子元素不会影响到外面的元素 加上一个overflow:hilden该元素的子元素是一个bfc下面 只要触发的是个bfc那么它对外面都没有…
CSS里的 no-repeat是针对背景图片来说的.当你设置了no-repeat这个属性后,你的背景图片将不会被重复,再换一种说法,你在网站上所看到的背景图片就是你所添加的图片, 不会出现平铺或者重复的现象. 你仍然可以通过其他方式来控制图片的位置,比如: {backgroud:top, center, no-repeat;} 这样你的背景图片就位于上部的居中位置.…
请阅读 在CSS里用calc进行计算   下面的元素的width,padding,margin都使用了CSS calc进行计算. 简单计算: 100% – 100px 这是经过简单计算的元素宽度 复杂计算: 100% – calc(100% – 50% / 3), 5px calc(3% – 2px), calc(10% + 10px) 这是一个经过复杂计算的元素宽度  …
CSS里的user-select属性用来禁止用户用鼠标在页面上选中文字.图片等,也就是,让页面内容不可选.也可以只允许用户选中文字,或者全部都放开,用户可以同时选中文字.还包括文本里的图片.视频等其它东西.user-select属性的作用是元素级别的,它不仅可以作用整个页面,也可以只在指定的元素和其子元素上生效. 写这篇文章的时候,“user-select”属性在各大浏览器里都还是实验性的属性,以后有可能废弃,也有可能转正,目前使用各种浏览器引擎前缀,它的作用还是能发挥的不错的. 我们来先看看u…
canvas.width 和 它的style.width是不一样的: canvas是个画布,有他自己的宽和高(默认是没有单位的纯数字),就是canvas.width和canvas.height的宽和高, 行间样式里如果你用vh和vw设置宽高,不好意思,不可以,统统按照px计算, css里可以用vw,vh.但是,请记住,这里设置的是style.属性; js里用带有单位的字符串比如vw和vh还有px,设置width和height,还是不好意思,不好使, 这样就不好使!!! (style属性是表现在页…
vue build打包后css里的图片路径404 在vue-cli项目中build/utils.js中找到如下代码块,添加 publicPath:’../../’ if (options.extract) { return ExtractTextPlugin.extract({ use: loaders, fallback: 'vue-style-loader', publicPath:'../../' //添加这句话 }) } else { return ['vue-style-loader'…