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 中刪除。