在文档中,元素被表示为一个矩形的盒子。浏览器
在CSS中,使用盒模型描述这些矩形盒子中的每个。这个模型描述了元素所占空间的内容。每一个盒子有四个边:外边距边(margin), 边框边(border), 内填充边(padding)与内容边(content)。 测试
box-sizing 决定元素宽度和高度如何计算spa
box-sizing支持的属性设计
content-box | border-box
值 | 描述 |
---|---|
content-box | 宽度和高度分别应用到元素的内容框。在宽度和高度以外绘制元素的内边距和边框。 |
border-box | 为元素指定的任何内边距和边框都将在已设定的宽度和高度内进行绘制 |
值 | 描述 |
---|---|
auto | 浏览器计算内边距。 |
length | 规定以具体单位计的内边距值,好比像素、厘米等。默认值是 0px。但不容许使用负值。 |
% | 规定基于父元素的宽度的百分比的内边距。 |
实际测试padding的百分比,测试结果并非等于,而是近似等于。浏览器计算会存在误差,code
值 | 描述 |
---|---|
auto | 浏览器计算外边距。 |
length | 规定以具体单位计的外边距值,好比像素、厘米等。 |
% | 规定基于父元素的宽度的百分比的外边距 |
设置margin: auto后,rem
块级元素,在文档流中文档
margin-left和margin-right取值相同,按照下面公式计算it
'margin-left' + 'border' + 'padding' + 'width' + 'margin-right' = width of containing block
块级元素,不在文档流中table
margin-left和margin-right取值相同,按照下面公式计算class
'margin-left' + 'border' + 'padding' + 'width' + 'margin-right' = width of containing block
margin-top和margin-bottom取值相同,按照下面公式计算
'margin-top' + 'border' + 'padding' + 'height' + 'margin-bottom' = height of containing block