一、W3C标准盒模型 (content-box)
使用:
box-sizing: content-box //默认值content-box
盒子范围包含:margin padding border content
设置的width 、height 是 conent的width、height
二、IE盒模型/怪异盒模型 (border-box)
使用:
box-sizing: border-box
盒子范围包含:margin padding border content
设置的width 、height 是 包含 content、border 和 padding
三、margin垂直方向边距重叠(margin-top、margin-bottom)
<body>
<p>box-sizing: content-box</p>
<div class="border1">
<div>1</div>
<div>2</div>
<div>3</div>
<div>4</div>
</div>
<p>box-sizing: border-box</p>
<div class="border2">
<div>11</div>
<div>22</div>
<div>33</div>
<div>44</div>
</div>
</body>
<style>
.border1,.border2{
background-color: rgb(19, 19, 34);
}
.border1 div{
border: 1px solid red;
background-color: aquamarine;
height: 50px;
width: 50px;
box-sizing: content-box;
margin-top: 50px;
text-align: center;
line-height: 50px;
}
.border2 div{
border: 1px solid saddlebrown;
background-color: antiquewhite;
height: 50px;
width: 50px;
box-sizing: border-box;
margin-top: 50px;
text-align: center;
line-height: 50px;
}
</style>
参考关于css中外边距(margin)出现重叠的状况及解决方法
三、布局
盒子模型,是DOM元素的抽象定义。盒子模型里,元素有margin、border、padding、content,分为块元素和内联元素两种。
块级元素(block):块级元素会一个接一个地被垂直放置,起点是包含块的顶部。
内联元素(inline):内联元素会一个接一个地水平排列,起点是包含块的顶部。
了解更多布局相关知识:css布局-文档流(Normal Flow)、BFC