1. 程式人生 > >div與span, block-line塊元素與in-line內聯元素的區別(H5)

div與span, block-line塊元素與in-line內聯元素的區別(H5)

> div與span區別,div與span用法
div與span區別及用法- http://blog.csdn.net/cao478208248/article/details/25719735
  div佔用的位置是一行,span佔用的是內容有多寬就佔用多寬的空間距離;
  如果div的class為yangshi,則對內的span設定css屬性則,程式碼如下:.yanshi span{屬性及屬性值};

> block inline-block與inline的區別
-- display:block
 block元素會獨佔一行,多個block元素會各自新起一行。預設情況下,block元素寬度自動填滿其父元素寬度。
 block元素可以設定width,height屬性。塊級元素即使設定了寬度,仍然是獨佔一行。
 block元素可以設定margin和padding屬性。

-- display:inline
 inline元素不會獨佔一行,多個相鄰的行內元素會排列在同一行裡,直到一行排列不下,才會新換一行,其寬度隨元素的內容而變化。
 inline元素設定width,height屬性無效。
 inline元素的margin和padding屬性,水平方向的padding-left, padding-right, margin-left, margin-right都產生邊距效果;但豎直方向的padding-top, padding-bottom, margin-top, margin-bottom不會產生邊距效果。

-- display:inline-block


 簡單來說就是將物件呈現為inline物件,但是物件的內容作為block物件呈現。之後的內聯物件會被排列在同一行內。比如我們可以給一個link(a元素)inline-block屬性值,使其既具有block的寬度高度特性又具有inline的同行特性。
 一般我們會用display:block,display:inline或者display:inline-block來調整元素的佈局級別,其實display的引數遠遠不止這三種,僅僅是比較常用而已。
 IE(低版本IE)本來是不支援inline-block的,所以在IE中對內聯元素使用display:inline-block,理論上IE是不識別的,但使用display:inline-block在IE下會觸發layout,從而使內聯元素擁有了display:inline-block屬性的表象。

-- in-line內聯元素和block-line塊元素
  瀏覽器的相容問題:不能隨便放置<span>標籤在<table>中等。
  HTML中為何P標籤內不可包含DIV標籤?有些塊元素不可以包含另一些塊元素  ,DTD中規定了塊級元素是不能放在P裡;
 P標籤內包含塊元素時,它會先結束自己,比如:<*p><*div>測試p包含div<*/div><*/p>,那麼瀏覽器會解釋成:<*p><*/p><*div>測試p包含div<*/div><*p><*/p>  會多解釋出一個p.
  深究:我們先來認識in-line內聯元素和block-line塊元素,因為HTML裡幾乎所有元素都屬於內聯元素或者塊元素中的一種。in-line這個詞有很多種解釋:內嵌、內聯、行內、線級等,但是,它們都是表示相同的意思,在這裡我們選擇習慣的叫法--內聯。可以通過CSS把div定義成內聯元素,把span定義成塊元素,但是,我們卻不能在HTML裡任意轉化它們,塊元素可以包含內聯元素或某些塊元素,但內聯元素卻不能包含塊元素,它只能包含其他的內聯元素.