要理解display:inline、block、inline-block的區別,須要先了解HTML中的塊級(block)元素和行級(inline)元素的特色,行內元素也叫內聯元素。html
老是另起一行開始;
高度,行高以及頂、底邊距均可以控制;
寬度缺省是它所在容器的100%,除非設定一個寬度。
塊級元素一般做爲其餘元素的容器,能夠容納內聯元素和其餘塊元素。block element的HTML標籤以下:
address-地址
blockquote-塊引用
center-居中對齊塊
div-經常使用塊級元素
dl-定義列表
form-交互表單
fieldset-form控制組
hr-水平分隔線
ol-排序表單
ul-非排序列表
dir-目錄列表
p-段落
pre-格式化文本
isindex-input prompt
menu-菜單列表
table-表格
h1...h6-標題
noframes-frames可選內容(對於不支持frame的瀏覽器顯示此區塊內容)
noscript-可選腳本內容(對於不支持script的瀏覽器顯示此內容)java
和其餘元素都在一行上;
高度,行高以及頂、底邊距不可改變;
高度就是它所容納的文字或圖片的寬度,不可改變。
通常都是基於語義級(semantic)的基本元素,只能容納文本或者其餘內聯元素,內聯元素的HTML標籤分類以下:瀏覽器
a-錨點
abbr-縮寫
acronym-首字
font-字體設定(不推薦)
b-粗體(不推薦)
big-bidi override
em-強調
br-換行
small-小字體文本
strong-粗體強調
i-斜體
img-圖片
input-輸入框
label-表格標籤
select-項目選擇
textarea-多行文本輸入框
u-下劃線
var-定義變量
cite-引用
code-計算機代碼(在引用源碼的時候須要)
dfn-定義字段
kbd-定義鍵盤文本
q-短引用
s-中劃線(不推薦)
strike-中劃線
sub-下標
sup-上標
tt-電傳文本app
HTML中有些元素是可變元素,可根據上下文語境決定該元素爲塊元素或者內聯元素。ide
applet-java applet
button-按鈕
del-刪除文本
iframe-inline frame
ins-插入的文本
map-圖片區塊(map)
object-object對象
script-客戶端腳本佈局
display:block就是將元素顯示爲塊級元素,display:inline則將元素顯示爲行內元素。學習
display:inline-block將元素顯示爲行內元素,可是元素的內容做爲塊元素處理。旁邊的內聯元素和該對象顯示在同一行,而且容許空格,可是該元素具備塊元素的特性,能夠設置其高度,寬度等屬性。在同一行內有不一樣高度內容的元素時,一般要設置對齊方式如vertical-align: top;來使元素頂部對齊。字體
CSS中使用display:inline-block;來樣式化,在Firefox, Safari, Google Chrome 和 IE 8及以上是有效的。可是在早期的IE,好比IE 7,對行內元素設置inline-block沒法實現inline-block的效果。只是觸發了塊元素的layout,而行內元素自己就是行佈局,因此觸發後,依然是行佈局。spa
對IE8如下的版本,能夠採用如下兩種方法來實現inline-block的效果:code
1 div {display:inline-block;} 2 div {display:inline;}
div { display:inline; zoom:1; }
參考了http://www.cnblogs.com/jdonson/archive/2011/06/10/2077932.html,和一些網上的資料,算是平時一點平時的學習總結吧!