盒模型是CSS基本模型之一,頁面上每個元素都包含在盒模型內,由元素內容、內邊距(padding)、邊框(border)和外邊框(margin)組成
塊級元素常見標籤:div p form ul ol lih1~h6
行內元素常見標籤:span em strong a
塊級元素可以包含塊級和行內元素,反之則不可。
在排版時,可以用display改變元素是塊級還是行內,但是display並不能從根本意義上改變元素性質。display有一個特殊屬性是inline-block行內塊,行內塊元素作爲一個替換元素放在行中,底端默認在基線上,內部沒有行分隔符,但是行內塊元素的高度可以改變行高。
一、主要差別
a.高度&寬度
塊級元素高度由設置的高度(height)和寬度(weight)以及內外邊距和邊框寬度決定。
行內元素的高度則有具體字體的font-size與line-height決定。
行內元素也有盒子模型,但是內邊距和邊框不會影響元素行內框的高度(可以用背景色看到效果但是對實際行內框無影響),
外邊距不會影響非替換元素的頂端和底端,但是左右內外邊距會影響文本佈局:
一般行內非替換元素的line-height比font-size要大,也有特殊情況如下。
eg.tall的對齊方式爲vertical-align:top(vertical-align的對齊方式是行框與行內框的邊界)
line-height比font-size大
line-height比font-size小
由上例,line-height是繼承屬性,爲了避免父元素的line-height比子元素的font-size小,line-height建議設置爲縮放因子,
此外,行內替換元素的可以增加行框高度,但是並不影響行高。替換元素的行高主要應用於垂直對齊。
說到垂直對齊,這裏補充一下基線的概念,基線是英文字母中小寫x的下端沿(不同字體樣式不相同)
還有很多關於行內元素的基本知識推薦瀏覽:http://blog.csdn.net/q121516340/article/details/51483439