除了剪裁和溢出,網(wǎng)頁(yè)設(shè)計(jì)人員還可以控制整個(gè)元素的可見(jiàn)性。
visibility
值:visible | hidden | collapse | inherit
初始值:visible
應(yīng)用于:所有元素
繼承性:有
計(jì)算值:根據(jù)指定確定
這個(gè)屬性相當(dāng)簡(jiǎn)單。如果元素設(shè)置為有visibility: visible,當(dāng)然它就是可見(jiàn)的。
如果元素設(shè)置為visibility: hidden,則會(huì)置為“不可見(jiàn)”(按規(guī)范中的說(shuō)法),處于不可見(jiàn)狀態(tài)時(shí),元素還是會(huì)影響文檔的布局,就好像它還可見(jiàn)一樣。換句話說(shuō),網(wǎng)站建設(shè)元素還在那里,只不過(guò)你看不見(jiàn)它。注意這與display: none有區(qū)別。對(duì)于后者,元素不僅不顯示,還會(huì)從文檔中刪除,所以對(duì)文檔布局沒(méi)有任何影響。圖10-37顯示了一個(gè)文檔,根據(jù)以下樣式和標(biāo)記,將其中一個(gè)段落設(shè)置為hidden:
em.trans {visibility: hidden; border: 3px solid gray; background: silver; margin: 2em; padding: 1em;}
<P>
This is a paragraph that should be visible. Lorem ipsum, dolor sit amec,<em class="trans">conseccetuer adipiscing elit, sed diam nonurany nibh </em> euisraod tincidunt ut laoreet dolore magna aliquam erat volutpat.
</p>
hidden元素中原本可見(jiàn)的部分(如內(nèi)容、背景和邊框)都會(huì)置為不可見(jiàn)。注意,這些空間還留在原處,因?yàn)樵厝允俏臋n布局的一部分。只不過(guò)你看不到它。
還要注意,網(wǎng)頁(yè)設(shè)計(jì)人員有可能將一個(gè)hidden元素的后代元素置為visible。這會(huì)使該后代元素正常出現(xiàn),盡管其祖先元素(以及兄弟)是不可見(jiàn)的。為此,必須顯式地聲明后代元素為visible,因?yàn)関isibility屬性可以繼承:
p.clear {visibility: hidden;}
p.clear era {visibility: visible;}
visibility: collapse值在CSS表顯示中使用,這在下一章討論。根據(jù)網(wǎng)站建設(shè)CSS2規(guī)范,如果用干非表元素,collapse與hidden含義相同。