“塊級元素”和“display為block的元素”不是一個概念,因為<li>元素預設的display值是list-item,<table>元素預設的display值是table,它們都是塊級元素。 正是由於“塊級元素”具有換行特性,因此理論上它們都可以配合clear屬性來清除浮動帶來的影響。例如: ...
“塊級元素”和“display為block的元素”不是一個概念,因為<li>元素預設的display值是list-item,<table>元素預設的display值是table,它們都是塊級元素。
正是由於“塊級元素”具有換行特性,因此理論上它們都可以配合clear屬性來清除浮動帶來的影響。例如:
1 .clear:after { 2 content : ' '; 3 display : table; //也可以使用table,或者list-item。 4 clear : both; 5 }
在實際開發中,我們要麼使用block,要麼使用table,並不會使用list-item,這有以下原因:
1.會出現不必要的項目符號
2.IE瀏覽器不支持偽元素的display值為list-item。相容性不好。
那麼為什麼list-item元素會出現項目符號?
是為了滿足list-item,在塊級元素上添加了一個“標記盒子”,專門用來放原點、數字這些項目符號。
同樣的道理,什麼是inline-block呢?
在塊級盒子的基礎上,又添加了一個盒子,外在盒子控制元素是可以一行顯示,還是換行顯示。內在盒子則負責寬高、內容呈現。外在盒子inline級別的,內在盒子block級別的。
很顯然width/height是作用在內在盒子上的。