385 字
2 分钟
CSS盒子模型
一、什么是盒子模型?
TIP 当对一个文档进行布局的时候,浏览器的渲染引擎会根据标准之一的CSS基础框盒模型(Css basic box model),将所有的元素表示为一个个矩形的盒子。通俗来讲,每个HTML元素都可以被看作是一个盒子。
在
CSS
中,盒子模型可以分成:
W3C
标准盒子模型- IE 怪异盒子模型
二、W3C
标准盒子模型
TIP
W3C标准盒模型
,是浏览器默认的盒子模型。 盒子总宽度(Total Width) =
width + padding + border + margin
盒子总高度(Total Height) =
height + padding + border + margin
也就是说,在标准盒模型下,
width/height
只是content
的,不包含padding和border
,所以如果设置width
为200px,但因为padding
的存在,实际宽度大于200px
三、IE怪异盒子模型
TIP 盒子总宽度 =
width + margin
盒子总高度=
height + margin
也就是说,在怪异盒模型下,
width/height
的值包含了padding和border
四、如何设置使用的盒模型
box-sizing
属性
box-sizing: content-box|border-box|inherit;
TIP
box-sizing
属性定义了引擎应该如何计算一个元素的总宽高(也就是指定了是哪种盒模型)属性值:
content-box
默认值,元素的width/height
不包含padding,border
,与标准盒子模型表现一致border-box
元素的width/height
包含padding,border
,与怪异盒子模型表现一致inherit
指定 box-sizing 属性的值,应该从父元素继承