随着互联网的普及和技术的不断发展,web前端开发工程师在当今互联网行业中的重要地位,web前端开发工程师作为一个专业技术岗位,需要掌握多种技术来构建现代化的网页和应用程序,今天八维职业学校和大家一起来看看web前端工程师常见的bfc是什么,希望对想要学习和了解这个行业的同学有所帮助。
一、什么是bfc?
bfc(block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域,只有block-level box参与, 它规定了内部的block-level box如何布局,并且与这个区域外部毫不相干。
在解释什么是bfc之前,我们需要先知道box、formatting context的概念。
box:css布局的基本单位
box 是 css 布局的对象和基本单位, 直观点来说,就是一个页面是由很多个 box 组成的。元素的类型和 display 属性,决定了这个 box 的类型。 不同类型的 box, 会参与不同的 formatting context(一个决定如何渲染文档的容器),因此box内的元素会以不同的方式渲染。让我们看看有哪些盒子:
block-level box:display 属性为 block, list-item, table 的元素,会生成 block-level box。并且参与 block fomatting context;
inline-level box:display 属性为 inline, inline-block, inline-table 的元素,会生成 inline-level box。并且参与 inline formatting context;
run-in box: css3 中才有, 这儿先不讲了。
formatting context
formatting context 是 w3c css2.1 规范中的一个概念。它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系和相互作用。最常见的 formatting context 有 block fomatting context (简称bfc)和 inline formatting context (简称ifc)。
bfc是一个独立的布局环境,其中的元素布局是不受外界的影响,并且在一个bfc中,块盒与行盒(行盒由一行中所有的内联元素所组成)都会垂直的沿着其父元素的边框排列。
bfc的布局规则
内部的box会在垂直方向,一个接一个地放置。
box垂直方向的距离由margin决定。属于同一个bfc的两个相邻box的margin会发生重叠。
每个盒子(块盒与行盒)的margin box的左边,与包含块border box的左边相接触(对于从左往右的格式化,否则相反)。即使存在浮动也是如此。
bfc的区域不会与float box重叠。
bfc就是页面上的一个隔离的独立容器,容器里面的子元素不会影响到外面的元素。反之也如此。
计算bfc的高度时,浮动元素也参与计算。
什么是bfc?
formatting context:指页面中的一个渲染区域,并且拥有一套渲染规则,他决定了 其子标签如何定位,以及与其他标签的相互关系和作用。
bfc块级格式化上下文,它是指一个独立的块级渲染区域,只有block-level box参与, 该区域拥有一套渲染规则来约束块级盒子的布局,且与区域外部无关。
怎样生成bfc
根标签
float的值不为none
overflow 的值不为 visible
display 的值为 inline-block
position 的值为 absolute 或 fixed
bfc的特性
垂直方向上的距离由margin决定,属于同一个bfc的两个相邻标签的margin会发生重叠。
每个标签的左外边距与包含块的左边界相接触(从左向右),即使浮动标签也是如此。
bfc 的区域不会与 float 的标签区域重叠。(不包括固定定位方法)
计算bfc的髙度时,浮动子标签也参与计算。
bfc就是页面上的一个隔离的独立容器,容器里面的子标签不会影响到外面标签, 反之亦然。
bfc解决的问题
外边距塌陷
清浮动
两栏或者三栏自适应布局 (只能用overflow:hidden)
上一篇:
下一篇:软件测试工程师自动化设备基础知识
ui设计师怎么进行设计
随着信息技术的迅猛发展,移动互联网市场已然成熟,使得ui设计行业的持续走热,让许多企业也顺应市场的要求,对ui设计也越来越重视,几乎每个中大型it企业都会在产品设计和ui界面设计上加大投资力度,这样的行业发展趋势吸引了越来越多的人参加ui设计工作,也有很多人都通过参加ui设计培训课程来转行ui设计,今天八维职业学校和大家一起来看看ui设计师怎么进行设计,希望有助于大家学习。