1、什么是塊級元素?
“塊級元素”和“display為block的元素”并不是一個概念。例如:<li>元素默認的display值是list-item,<table>元素默認的display值是table,但是他們均是“塊級元素”。
“塊級元素”的基本特征是一個水平流上只能單獨顯示的元素,多個塊級元素則換行顯示
2、怎么清除浮動?
配合clear屬性
.clear:after {?
? ?content: '';?
? ?display: block;? //?也可以是table或list-item
? ?clear:both;
}
3、為什么list-item元素會出現項目符號(display: list-item)
因為所有“塊級元素”都有一個“主塊級盒子”,list-item除此外還有一個“附加盒子”,學名“標記盒子”(marker?box),專門用來放圓點、數字這些項目符號.
4、display: inline-block?盒子結構?
該元素既能和圖文一行顯示,又能直接設置width/height.
原因:盒子結構為兩個盒子,外面的盒子是inline級別,里面的盒子是block級別
同理:display:? inline-table會渲染成一個可以和文字一行顯示的表格

5、width/height作用在哪個盒子上?
作用在內在盒子,也就是“容器盒子”
6、外部尺寸與流體特性(較常見)
(1)正常流寬度:當我們在一個容器中倒入足量的水時,水一定會均勻鋪滿整個容器。在頁面中隨便扔一個<div>元素,其尺寸表現就會和這水流一樣鋪滿容器。
很多網站垂直導航有這樣的寫法:a { display: block; width: 100%}
<a>元素默認display是inline,所以需要垂直導航時可直接設置display:block使其塊級化,沒必要設置寬度,一旦設置寬度就會使流動性丟失。對比圖如下:

代碼:

所謂流動性,是一種margin/border/padding和content內容區(qū)域自動分配水平空間的機制。
注:三準則:無寬度 ,無圖片,無浮動。
其中,無寬度保留了容器流特性,使代碼更簡潔,更好維護。
(2)格式化寬度(大概了解)
div { position:absolute; left: 20px; right: 20px;}
假設該<div>元素最近的具有定位特性的祖先元素的寬度是1000像素,則這個<div>元素的寬度是960像素。和普通流一樣,“格式化寬度”具有完全的劉提醒,也就是margin、border、padding和content內容區(qū)域同樣會自動分配水平(垂直)空間。