|
|
|
|
|
在前面文章我們介紹了可以通過(guò)使用visibility隱藏元素,本文將繼續(xù)介紹另一種CSS隱藏元素的方法:使用display
。
實(shí)例
HTML
<ol class="hide" tabindex="0">
<li>one</li>
<li class="hide-item">two</li>
<li>three</li>
</ol>
<p>鼠標(biāo)移到任何一個(gè)盒子上隱藏盒子two,<br>使用 <b>display: none;</b>。</p>
CSS
/* hide element */
.hide:hover .hide-item,
.hide:focus .hide-item {
display: none;
}
/* other styles */
body {
font-family: sans-serif;
font-size: 100%;
color: #222;
background-color: #fff;
}
p {
text-align: center;
}
.hide {
display: flex;
justify-content: center;
list-style-type: none;
padding: 0;
margin: 0;
}
.hide > * {
flex: 0 0 25%;
font-size: 2em;
text-align: center;
padding: 1em 0;
margin: 0.2em;
background-color: #ccc;
border-radius: 0.5em;
user-select: none;
}
.hide-item {
background-color: #f66;
cursor: pointer;
}
代碼解釋
display
可能是最常用的元素隱藏方法。值none
有效地刪除了元素,就好像它從未存在于 DOM 中一樣。
然而,在大多數(shù)情況下,它可能是最糟糕的 CSS 屬性。它不能被動(dòng)畫(huà)化并且會(huì)觸發(fā)頁(yè)面布局,除非使用position: absolute
把元素移出文檔流或采用新的contain
屬性。
display
也是重載的,帶有block
,inline
,table
,flexbox
,grid
等選項(xiàng)。使用display: none;
之后重置回正確的值可能會(huì)出現(xiàn)問(wèn)題。
度量標(biāo)準(zhǔn) | 影響 |
---|---|
瀏覽器支持 | 極好 |
可訪(fǎng)問(wèn)性 | 內(nèi)容未讀 |
布局受影響? | 是的 |
渲染要求 | 布局 |
表現(xiàn) | 較差的 |
動(dòng)畫(huà)幀可能嗎? | 不 |
隱藏時(shí)可觸發(fā)事件嗎? | 不 |
相關(guān)文章
CSS display 屬性
CSS 中的 display
屬性定義了組件(div、超鏈接、標(biāo)題等)將如何放置在網(wǎng)頁(yè)上。顧名思義,此屬性用于定義網(wǎng)頁(yè)不同部分的顯示。
display: value;
值 | 描述 |
---|---|
inline | 它用于將元素顯示為內(nèi)聯(lián)元素。 |
block | 它用于將元素顯示為塊元素。 |
contents | 它用于使容器消失。 |
flex | 它用于將元素顯示為塊級(jí)彈性容器。 |
grid | 它用于將元素顯示為塊級(jí)網(wǎng)格容器。 |
inline-block | 它用于將元素顯示為內(nèi)聯(lián)級(jí)塊容器。 |
inline-flex | 它用于將元素顯示為內(nèi)聯(lián)級(jí)彈性容器。 |
inline-grid | 它用于將元素顯示為內(nèi)聯(lián)級(jí)網(wǎng)格容器。 |
inline-table | 它用于顯示內(nèi)聯(lián)級(jí)表。 |
list-item | 它用于顯示 <li> 元素中的所有元素。 |
run-in | 它用于顯示元素內(nèi)聯(lián)或塊級(jí)別,具體取決于上下文。 |
table | 它用于將所有元素的行為設(shè)置為 <table> 。 |
table-caption | 它用于將所有元素的行為設(shè)置為 <caption> 。 |
table-column-group | 它用于將所有元素的行為設(shè)置為 <column> 。 |
table-header-group | 它用于將所有元素的行為設(shè)置為 <header> 。 |
table-footer-group | 它用于將所有元素的行為設(shè)置為 <footer> 。 |
table-row-group | 它用于將所有元素的行為設(shè)置為 <row> 。 |
table-cell | 它用于將所有元素的行為設(shè)置為 <td> 。 |
table-column | 它用于將所有元素的行為設(shè)置為 <col> 。 |
table-row | 它用于將所有元素的行為設(shè)置為 <tr> 。 |
none | 它用于刪除元素。 |
initial | 它用于設(shè)置默認(rèn)值。 |
inherit | 它用于從其父元素繼承屬性。 |
相關(guān)文章