首先,所有主流瀏覽器都支持 display 屬性。其次,我們都知道display 屬性規定元素應該生成的框的類型。默認值:inline
我們常用的display屬性值有:
inline
block
inline-block
none
把 display 設置成 none 不會保留元素本該顯示的空間,但是 visibility: hidden 還會保留。
那么,display:inline、display:block和display:inline-block有什么區別呢?
我們發現內聯對象`inline`給它設置屬性`height`和`width`是沒有用的,致使它變寬變大的
原因是內部元素的寬高`+padding`。觀察inline對象的前后元素我們會發現`inline`不單獨占一行,
其它元素會緊跟其后。
而塊對象`block`是可以設置寬高的,但是它的實際寬高是本身寬高`+padding`。
觀察`block`的前后元素我們會發現`block`要單獨占一行。
然而,當我們即需要div有寬高,又不希望它獨占一行怎么辦?
這個時候我們就需要使用`inline-block`了,再觀察一下上面的demo,我們會發現`inline-block`
即具有`block`的寬高特性又具有`inline`的同行元素特性。
然而,在IE6/7下padding對inline的寬高是對其沒影響的。
那么,display的其他屬性值呢?
list-item 此元素會作為列表顯示。
run-in此元素會根據上下文作為塊級元素或內聯元素顯示。
compact CSS 中有值 compact,不過由于缺乏廣泛支持,已經從 CSS2.1 中刪除。
marker CSS 中有值 marker,不過由于缺乏廣泛支持,已經從 CSS2.1 中刪除。
table 此元素會作為塊級表格來顯示(類似table),表格前后帶有換行符。
inline-table 此元素會作為內聯表格來顯示(類似table),表格前后沒有換行符。
table-row-group 此元素會作為一個或多個行的分組來顯示(類似tbody)
table-header-group 此元素會作為一個或多個行的分組來顯示(類似thead)
table-footer-group: 此元素會作為一個或多個行的分組來顯示(類似tfoot)
table-row 此元素會作為一個表格行顯示(類似 tr )。
table-column-group 此元素會作為一個或多個列的分組來顯示(類似 colgroup )。
table-column 此元素會作為一個單元格列顯示(類似 col )            
新聞熱點
疑難解答