詳解css中的display屬性

首先,所有主流瀏覽器都支持 display 屬性。其次,我們都知道display 屬性規(guī)定元素應(yīng)該生成的框的類型。默認值:inline
我們常用的display屬性值有:
inline
block
inline-block
none
把 display 設(shè)置成 none 不會保留元素本該顯示的空間,但是 visibility: hidden 還會保留。
那么,display:inline、display:block和display:inline-block有什么區(qū)別呢?
<style>
.inline{display:inline; width:100px; height:100px; padding:5px; background-color:#F00;}
.block{display:block; width:100px; height:100px; padding:5px;background-color:#0f0;}
.inline-block{display:inline-block; width:100px;height:100px; padding:5px;background-color:#00f;}
</style>
<body>
<span class="inline">
inline
</span>inline
<span class="block">
block
</span> block
<span class="inline-block">
inline-block
</span>inline-block
</body>
我們發(fā)現(xiàn)內(nèi)聯(lián)對象`inline`給它設(shè)置屬性`height`和`width`是沒有用的,致使它變寬變大的
原因是內(nèi)部元素的寬高`+padding`。觀察inline對象的前后元素我們會發(fā)現(xiàn)`inline`不單獨占一行,
其它元素會緊跟其后。
而塊對象`block`是可以設(shè)置寬高的,但是它的實際寬高是本身寬高`+padding`。
觀察`block`的前后元素我們會發(fā)現(xiàn)`block`要單獨占一行。
然而,當我們即需要div有寬高,又不希望它獨占一行怎么辦?
這個時候我們就需要使用`inline-block`了,再觀察一下上面的demo,我們會發(fā)現(xiàn)`inline-block`
即具有`block`的寬高特性又具有`inline`的同行元素特性。
然而,在IE6/7下padding對inline的寬高是對其沒影響的。
那么,display的其他屬性值呢?
list-item 此元素會作為列表顯示。
run-in此元素會根據(jù)上下文作為塊級元素或內(nèi)聯(lián)元素顯示。
compact CSS 中有值 compact,不過由于缺乏廣泛支持,已經(jīng)從 CSS2.1 中刪除。
marker CSS 中有值 marker,不過由于缺乏廣泛支持,已經(jīng)從 CSS2.1 中刪除。
table 此元素會作為塊級表格來顯示(類似table),表格前后帶有換行符。
inline-table 此元素會作為內(nèi)聯(lián)表格來顯示(類似table),表格前后沒有換行符。
table-row-group 此元素會作為一個或多個行的分組來顯示(類似tbody)
table-header-group 此元素會作為一個或多個行的分組來顯示(類似thead)
table-footer-group: 此元素會作為一個或多個行的分組來顯示(類似tfoot)
table-row 此元素會作為一個表格行顯示(類似 tr )。
table-column-group 此元素會作為一個或多個列的分組來顯示(類似 colgroup )。
table-column 此元素會作為一個單元格列顯示(類似 col )
table-cell 此元素會作為一個表格單元格顯示(類似 td 和 th)
table-caption 此元素會作為一個表格標題顯示(類似 caption)
相關(guān)文章
使用CSS的border-radius屬性 設(shè)置圓弧
這篇文章主要介紹了使用CSS的border-radius屬性 設(shè)置圓弧,本文通過實例代碼給大家介紹的非常詳細,具有一定的參考借鑒價值,需要的朋友可以參考下2019-11-26詳解CSS3中的box-sizing(content-box與border-box)
這篇文章主要介紹了CSS3中的box-sizing(content-box與border-box)的相關(guān)資料,需要的朋友可以參考下2019-04-19- 這篇文章主要介紹了使用CSS的border屬性繪制各種幾何形狀的方法的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們2019-03-01
- 這篇文章主要介紹了CSS繪制三角形的實現(xiàn)代碼(border法)的相關(guān)資料,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧2018-09-11
- 本篇文章主要介紹了CSS3 用border寫 空心三角箭頭 (兩種寫法),非常具有實用價值,需要的朋友可以參考下2017-09-29
- 這是一款由腳本之家翻譯自國外網(wǎng)站的在線CSS工具,可在線調(diào)整生成樣式的邊框圓角效果,以及邊框的寬度、顏色、樣式等屬性,還可實時預(yù)覽生成的CSS代碼,并支持一鍵復(fù)制代碼2017-09-19
css display inline block 兼容性問題寫法
今天在寫布局的時候發(fā)現(xiàn)的一個bug,如果不這樣就達不到預(yù)期的效果,無法兩行排列,原來ie6、ie7下對display:inline-block不支持,所以需要用到css hack才可以2016-01-10- css3給display屬性提供了box這個值,極大的方便了開發(fā)者,下面給大家介紹css3 display box具體用法,對css3 display box相關(guān)知識感興趣的朋友一起學習吧2015-11-25
- 本篇文章給大家介紹css3 display知識詳解,涉及到css3 display相關(guān)知識,感興趣的朋友一起學習吧2015-11-25
深入解析CSS的display:inline-block屬性的使用
這篇文章主要介紹了CSS的display:inline-block屬性的使用,其中對使用時產(chǎn)生的空隙問題的解決作了重點講解,需要的朋友可以參考下2015-11-09