1. 程式人生 > >CSS display屬性的值及作用

CSS display屬性的值及作用

display 的屬性值有:none|inline|block|inline-block|list-item|run-in|table|inline-table|table-row-group|table-header-group|table-footer-group|table-row|table-column-group|table-column|table-cell|table-caption|inherit

其中常用的的有none、inline、block、inline-block。分別的意思是:

1、none: 元素不會顯示,而且改元素現實的空間也不會保留。但有另外一個 visibility: hidden, 是保留元素的空間的。

2、inline: display的預設屬性。將元素顯示為內聯元素,元素前後沒有換行符。我們知道內聯元素是無法設定寬高的,所以一旦將元素的display 屬性設為 inline, 設定屬性height和width是沒有用的。此時影響它的高度一般是內部元素的高度(font-size)和padding。

3、block: 將元素將顯示為塊級元素,元素前後會帶有換行符。設定為block後,元素可以設定width和height了。元素獨佔一行。

4、inline-block:行內塊元素。這個屬性值融合了inline 和 block 的特性,即是它既是內聯元素,又可以設定width和height。

看例子

複製程式碼
.inline{
    display:inline; 
    width:100px; 
    height:100px; 
    padding:10px; 
    background-color:red;
}
.block{
    display:block; 
    width:100px; 
    height:100px; 
    padding:10px;
    background-color:green;
}
.inline-block{
    display:inline-block; 
    width:100px;
    height:100px; 
    padding:10px;
    background
-color:blue; } <div class="wrap"> <div class="inline"> inline </div>inline <div class="block"> block </div> block <div class="inline-block"> inline-block </div>inline-block </div>
複製程式碼

這裡提及下內聯元素和塊級元素的一些特點:

內聯元素:

  和其他元素都在一行上;
   元素的高度、寬度及頂部和底部邊距不可設定;
   元素的寬度就是它包含的文字或圖片的寬度,不可改變。

<a>、<span>、<br>、<i>、<em>、<strong>、<label>、<q>、<var>、<cite>、<code>

塊級元素:

   每個塊級元素都從新的一行開始,並且其後的元素也另起一行。(真霸道,一個塊級元素獨佔一行);
   元素的高度、寬度、行高以及頂和底邊距都可設定。
   元素寬度在不設定的情況下,是它本身父容器的100%(和父元素的寬度一致),除非設定一個寬度。

常用的塊狀元素有:
<div>、<p>、<h1>...<h6>、<ol>、<ul>、<dl>、<table>、<address>、<blockquote> 、<form

內聯塊狀元素:

   和其他元素都在一行上;
   元素的高度、寬度、行高以及頂和底邊距都可設定。

常用的內聯塊狀元素有:
<img>、<input>

其他display的屬性值不是很常用,其具體的含義如下:

list-item:     此元素會作為列表顯示。
run-in:     此元素會根據上下文作為塊級元素或內聯元素顯示。
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>)
table-cell:     此元素會作為一個表格單元格顯示(類似 <td> 和 <th>)
table-caption:     此元素會作為一個表格標題顯示(類似 <caption>)
inherit:     規定應該從父元素繼承 display 屬性的值。

另外有兩個已經廢除的屬性值:
compact     CSS 中有值 compact,不過由於缺乏廣泛支援,已經從 CSS2.1 中刪除。
marker     CSS 中有值 marker,不過由於缺乏廣泛支援,已經從 CSS2.1 中刪除。