常規流
盒模型:規定單個盒子的規則
視覺格式化:(佈局規則)頁面中的多個盒子排列規則
視覺格式化模型:大體上將頁面中盒子的排列分爲三種方式:
- 常規流
- 浮動
- 定位
常規流佈局
常規流、文檔流、普通文檔流、常規文檔流
所有元素,默認情況下,都屬於常規流佈局
總體規則:塊盒獨佔一行,行盒水平依次排列
包含塊(containing block):每個盒子都有他的包含塊,包含塊決定了盒子的排列區域。
絕大部分情況下:盒子的包含塊,爲其父元素的內容盒
塊盒
- 每個塊盒的總寬度,必須更好等於包含塊的寬度
寬度的默認值是auto
margin的取值也可以是auto,默認值0
auto:將剩餘空間吸收掉
width吸收能力強於margin
若寬度、邊框、內邊距計算後,仍然有剩餘空間,該剩餘空間被margin-right全部吸收
在常規流中,塊盒在其包含塊中居中,可以定位寬、然後左右margin設置爲auto。
- 每個塊和垂直方向上的auto值
height:auto,適應內容的高度
margin:auto,表示0
- 百分比取值
padding、寬高、margin可以取值爲百分比
以上的所有百分比相對於包含快的寬度。
高度的百分比:
1). 包含塊的高度是否取決於子元素的高度,設置百分比無效
2). 包含塊的高度不取決於子元素的高度,百分比相對於父元素高度
- 上下外邊距的合併
兩個常規流塊盒,上下外邊距相鄰,會進行合併。
兩個外邊距取最大值。