首先來解釋一下這三者分別是什么含義:
display:block 此元素將顯示為塊級元素,此元素前后會帶有換行符。
display:inline 默認(rèn)值,此元素會被顯示為內(nèi)聯(lián)元素,元素前后沒有換行符。
display:inline-block 行內(nèi)塊元素(CSS2.1 新增的值),意思就是說,讓這個元素顯示在同一行不換行,但是又可以控制高度和寬度,這相當(dāng)于內(nèi)斂元素的增強。
注意:IE6 不支持inline-block!
再來說一下內(nèi)聯(lián)元素和塊級元素的定義:
內(nèi)聯(lián)元素(行內(nèi)元素)是不可以控制寬和高、margin等;并且在同一行顯示,不換行,比如span、font、em、b、a、img等元素。
塊級元素時可以控制寬和高、margin等,并且會換行,比如div、p、ul、li、p和所有的h類標(biāo)簽。
在具體的操作中,通常需要靈活運用這三個屬性,以達到對項目設(shè)計的需求。
以具體代碼為例:
<p>元素是塊級元素,通過display:inline就將段落元素設(shè)置為了內(nèi)聯(lián)元素
<html>
<head>
<style type="text/css">
p {display: inline}
</style>
</head>
<body>
<p>本例中的樣式表把段落元素設(shè)置為內(nèi)聯(lián)元素。</p>
</body>
</html>
<span>元素本來是內(nèi)聯(lián)元素,通過display:block就將<span>元素設(shè)置成了塊級元素
<html>
<head>
<style type="text/css">
span
{
display: block
}
</style>
</head>
<body>
<span>本例中的樣式表把 span 元素設(shè)置為塊級元素。</span>
<span>兩個 span 元素之間產(chǎn)生了一個換行行為。</span>
</body>
</html>
總結(jié):
(1)塊里可以含行,也就是div塊里可以有span,但是內(nèi)聯(lián)元素內(nèi)不能包含塊元素。
(3)內(nèi)聯(lián)存在margin-left和margin-right,但沒有margin-top和margin-bottom,也不具有width/height,而塊元素具有高,寬,margin等等。
(5) 內(nèi)聯(lián)元素可以通過改變它的display屬性來變成塊,來具有塊的屬性;同樣,塊元素同樣可以變成內(nèi)聯(lián)元素