display 屬性規定元素應該生成的框的類型。
值 |
描述 |
none |
此元素不會被顯示。 |
block |
此元素將顯示爲塊級元素,此元素前後會帶有換行符。 |
inline |
默認。此元素會被顯示爲內聯元素,元素前後沒有換行符。 |
inline-block |
行內塊元素。(CSS2.1 新增的值) |
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>) |
table-cell |
此元素會作爲一個表格單元格顯示(類似 <td> 和 <th>) |
table-caption |
此元素會作爲一個表格標題顯示(類似 <caption>) |
inherit |
規定應該從父元素繼承 display 屬性的值。 |
1、display被設置爲block(塊)時,容器中所有的元素將會被當作一個單獨的塊,就像<div>元素一樣,它會在那個點被放入到頁面中。(實際上你可以設置<span>的display:block,使其可以像<div>一樣工作。)比較常用於<a><span>這兩個標籤——因爲這兩個標籤非塊元素,如果不用display:block定義一下,那麼定義width、height等和長寬相關的css屬性時會發現完全不生效。
block元素的特點是:總是在新行上開始;高度,行高以及頂和底邊距都可控制;寬度缺省是它的容器的100%,除非設定一個寬度。<div>, <p>, <h1>, <form>, <ul> 和 <li>是塊元素的例子。(block是塊!就是說佔據瀏覽器的一整行)
2、display設置爲inline,將使其行爲和元素inline一樣---即使它是普通的塊元素如<div>,它也將會被組合成像<span>那樣的輸出流。
inline元素的特點是:和其他元素都在一行上;高,行高及頂和底邊距不可改變;寬度就是它的文字或圖片的寬度,不可改變。<span>, <a>, <label>, <input>, <img>,<strong> 和<em>是inline元素的例子。
3、display被設置:none,這時元素實際上就從頁面中被移走,它下面所在的元素就會被自動跟上填充。
eg1:如果要做一個豎形的導航欄
<html>
<head>
<style type="text/css">
a {
display:block;
}
</style>
</head>
<body>
<a href="#">a</a>
<a href="#">b</a>
<a href="#">c</a>
<a href="#">d</a>
<a href="#">e</a>
<a href="#">f</a>
</body>
</html>
如果我們把上面代碼中a的style效果註釋掉:
display:none和visible:hidden都能把網頁上某個元素隱藏起來,但兩者有區別:visible屬性是隱藏元素但保持元素的浮動位置,而display實際上是設置元素的浮動特徵。
- display:none ---> 不爲被隱藏的對象保留其物理空間,即該對象在頁面上徹底消失,通俗來說就是看不見也摸不到。
- visible:hidden ---> 使對象在網頁上不可見,但該對象在網頁上所佔的空間沒有改變,通俗來說就是看不見但摸得到。元素被隱藏之後,就不能再接收到其它事件了,當其被設爲"hidden"的時候,就不能再接收響應到事件了,因此也就無法通過JS令其顯示出來。
eg2:
<html>
<head>
<meta charset="utf-8">
<title>display:none和visible:hidden的區別</title>
</head>
<body >
<span style="display:none; background-color:Blue">display隱藏區域</span><span style=" background-color:Green">display顯示區域</span><br />
<span style="visibility:hidden; background-color:Blue">visible隱藏區域</span><span style="background-color:Green">visible顯示區域</span>
</body>
</html>