CSS之display屬性
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>一樣工作。
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>
display:none和visible:hidden都能把網頁上某個元素隱藏起來,但兩者有區別:visible屬性是隱藏元素但保持元素的浮動位置,而display實際上是設定元素的浮動特徵。
- display:none ---> 不為被隱藏的物件保留其物理空間,即該物件在頁面上徹底消失,通俗來說就是看不見也摸不到。
- visible:hidden ---> 使物件在網頁上不可見,但該物件在網頁上所佔的空間沒有改變,通俗來說就是看不見但摸得到。元素被隱藏之後,就不能再接收到其它事件了,當其被設為"hidden"的時候,就不能再接收響應到事件了,因此也就無法通過JS令其顯示出來。
<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>