盒子的高度 = content的高度 + padding-top(内上边距)+ padding-bottom(内下边距) + border-top(上边框边框) + border-bottom(下边框)
深入理解CSS盒子模型(The CSS Box Model)
如果了解了盒子模型(box model)的概念,了解它是如何决定某一个元素的最终尺寸的话,会有助理解一个元素如何在网页上定位的。盒子模型主要适用于块级元素。顺便提一个与此相关的概念:行内布局模型(inline layout model)——定义了行内元素是如何定位的,在行内元素格式(InlineFormatting)中有具体说明
盒子的尺寸的计算(Calculating BoxDimensions)
在CSS2.1中,块级元素只能是矩形形状的。当计算一个块级元素的整体尺寸时,需要同时把内容区域(content area)[注释1]的长宽,连同此元素的外边距,内边距,以及边框都计算在内
可以通过声明宽和高来定义一个元素的内容(content)的宽度和高度。如果没有做任何的声明,宽度和高度的默认值将是自动(auto)
对于浮动(floated)和绝对定位(absolutelypositioned)元素(包括固定定位(fixed)元素)来说, 自动状态的宽度会使generated box收缩到紧贴它内容大小。
我们知道,当我们放置一个块级元素于页面上时,并且不设置它的定位属性(relative,absolute,fixed),即position:static,或者设置了position:relative的情况下,块的宽度是延伸自动填充满它的父元素的宽度区域
总宽度 = 宽度(width:内容区宽度)+ pdding + bordercss3新增box-sizing属性。当box-sizing设置为border-box时,
总宽度 = 宽度(width)= 内容区宽度 + padding + border 。
box-sizing默认取值:centent-box,盒标准与CSS2中的一致。
<div class="div1"><div class="div2">
<span class="span1">sapn1</span>
</div>
<div class="div3">
<span class="span4">span4</span>
</div>
</div>
CSS
.div1{
display: flex
width: 1000px
height: 1200px
flex-direction: column
}
.div2{
flex-basis: 90%
}
.div3{
height: 400px