1. display:block
1.1 block元素會獨占一行,多個block元素會各自新起一行芽腾。默認情況下旦装,block元素的寬度會自動填滿其父元素寬度。
1.2 block元素可以設(shè)置其width摊滔,height屬性阴绢。塊級元素即使設(shè)置了寬度,仍然是獨占一行艰躺,但如果有margin且block元素本身的寬度不足父元素寬度的100%的話呻袭,該元素寬度+margin才是100%。
3.block元素可以設(shè)置margin和padding屬性腺兴。
2. display:inline
1.inline元素不會獨占一行棒妨,多個相鄰的行內(nèi)元素會從左到右排列在同一行里,直到一行裝不下了含长,才會新?lián)Q一行泳猬,其寬度隨元素的內(nèi)容而變化刹孔。
2.inline元素設(shè)置width,height屬性無效。
3.inline元素的margin和padding屬性绽族,水平方向的padding-left,padding-right烹骨,margin-left莫绣,margin-right都能產(chǎn)生邊距效果烟瞧;但豎直方向的padding-top,padding-bottom染簇,margin-top参滴,margin-bottom不會產(chǎn)生邊距效果。
3. display:inline-block
簡單來說就是將對象呈現(xiàn)為inline對象锻弓,但是對象的內(nèi)容作為block對象呈現(xiàn)砾赔。之后的內(nèi)聯(lián)對象會被排列在同一行內(nèi)。比如我們可以設(shè)置一個link(<a>)為inline-block屬性青灼,使其既具有block的寬度和高度特性又具有inline的同行特性暴心。
Note:
1. <ul>,<li>都是塊級元素杂拨,所以寫navigation bar的時候要將<ul>定義為block专普,而將<li>定義為inline-block; <a>是行內(nèi)元素,如果要設(shè)置占滿背景容器弹沽,也需定義為block檀夹。
2. 上述所有的“一行”都是指父元素(父容器)內(nèi)的一行。