CSS盒模型和BFC

2019-04-18  本文已影响0人  注定只是过客

盒模型

盒模型分为IE盒模型和W3C标准盒模型。

IE盒模型

IE盒模型也称border-box。
属性width,height包含content,border和padding。
width = 内容的宽度
height = 内容的高度

W3C标准盒模型

W3C标准盒模型也称content-box。
属性width,height只包含content,不包含border和padding
width = border + padding + 内容的宽度
height = border + padding + 内容的高度

在ie8+浏览器中使用哪个盒模型可以由box-sizing(CSS新增的属性)控制,默认值为content-box,即标准盒模型;如果将box-sizing设为border-box则用的是IE盒模型。若不声明DOCTYPE类型,IE浏览器会将盒子模型解释为IE盒子模型,FireFox等会将其解释为W3C盒子模型;。在当前W3C标准中盒模型是可以通过box-sizing自由的进行切换的。

1,BFC是什么?

Block fomatting context = block-level box + Formatting Context

Box:
1.1block-level box即块级元素

display属性为block, list-item, table的元素,会生成block-level box;并且参与 block fomatting context;

1.2inline-level box即行内元素

display 属性为 inline, inline-block, inline-table的元素,会生成inline-level box。并且参与 inline formatting context;

Formatting context

Formatting context是W3C CSS2.1规范中的一个概念。它是页面中的一块渲染区域,并且有一套渲染规则,它决定了其子元素将如何定位,以及和其他元素的关系、相互作用。最常见的 Formatting context 有 Block fomatting context (简称BFC)和 Inline formatting context(简称IFC)。

BFC 定义

BFC(Block formatting context)直译为"块级格式化上下文"。它是一个独立的渲染区域,只有Block-level box参与, 它规定了内部的Block-level Box如何布局,并且与这个区域外部毫不相干。

2,BFC的生成

满足下列CSS声明之一的元素便会生成BFC。

3,BFC的约束规则

4,BFC在布局中的应用

4.1防止margin重叠(塌陷)
4.2清除内部浮动
4.3 自适应多栏布局的

BFC原理剖析

上一篇下一篇

猜你喜欢

热点阅读