塊級元素(block)特性:
•總是獨占一行,表現為另起一行開始,而且其后的元素也必須另起一行顯示;
•寬度(width)、高度(height)、內邊距(padding)和外邊距(margin)都可控制;
內聯元素(inline)特性:
•和相鄰的內聯元素在同一行;
•寬度(width)、高度(height)、內邊距的top/bottom(padding-top/padding-bottom)和外邊距的top/bottom(margin-top/margin-bottom)都不可改變,就是里面文字或圖片的大小;
塊級元素主要有:
address , blockquote , center , dir , div , dl , fieldset , form , h1 , h2 , h3 , h4 , h5 , h6 , hr , isindex , menu , noframes , noscript , ol , p , pre , table , ul
內聯元素主要有:
a , abbr , acronym , b , bdo , big , br , cite , code , dfn , em , font , i , img , input , kbd , label , q , s , samp , select , small , span , strike , strong , sub , sup ,
textarea , tt , u , var
可變元素(根據上下文關系確定該元素是塊元素還是內聯元素):
applet ,button ,del ,iframe , ins ,map ,object , script
CSS中塊級、內聯元素的應用:
利用CSS我們可以擺脫上面表格里HTML標簽歸類的限制,自由地在不同標簽/元素上應用我們需要的屬性。
主要用的CSS樣式有以下三個:
•display:block -- 顯示為塊級元素
•display:inline -- 顯示為內聯元素
•dipslay:inline-block -- 顯示為內聯塊元素,表現為同行顯示并可修改寬高內外邊距等屬性
我們常將<ul>元素加上display:inline-block樣式,原本垂直的列表就可以水平顯示了。
題外話:最近整理有關塊級元素和內聯元素區(qū)別的有關知識,網上找了不少相關的文章,發(fā)現大家的理解似乎都有誤,我自己親自測試了下,發(fā)現了不少的問題:
1.內聯元素的margin-left / margin-right及padding-left / padding-rigtht是可以控制的,所以可以通過這4個屬性來控制內聯元素的寬度。
2.內聯元素的內部也可以放塊級元素標簽,而且內部的塊級元素標簽會撐大外部的內聯標簽,所以可以通過放塊元素來控制內聯元素的高度(網上介紹的是內聯元素只能放文本及其他內聯元素)
例如:
<a>
<div style="width:100px;height:100px;">測試</div>
</a>