css代碼隱藏網(wǎng)頁(yè)中的代碼
通過(guò)css
實(shí)現(xiàn)隱藏元素方法有如下:
display:none
visibility:hidden
opacity:0
設(shè)置height、width模型屬性為0
position:absolute
clip-path
display:none
設(shè)置元素的display
為none
是最常用的隱藏元素的方法
1 2 3 | . hide { display : none ; } |
將元素設(shè)置為display:none
后,元素在頁(yè)面上將徹底消失
元素本身占有的空間就會(huì)被其他元素占有,也就是說(shuō)它會(huì)導(dǎo)致瀏覽器的重排和重繪
消失后,自身綁定的事件不會(huì)觸發(fā),也不會(huì)有過(guò)渡效果
特點(diǎn):元素不可見(jiàn),不占據(jù)空間,無(wú)法響應(yīng)點(diǎn)擊事件
visibility:hidden
設(shè)置元素的visibility
為hidden
也是一種常用的隱藏元素的方法
從頁(yè)面上僅僅是隱藏該元素,DOM結(jié)果均會(huì)存在,只是當(dāng)時(shí)在一個(gè)不可見(jiàn)的狀態(tài),不會(huì)觸發(fā)重排,但是會(huì)觸發(fā)重繪
1 2 3 | . hidden { visibility : hidden } |
給人的效果是隱藏了,所以他自身的事件不會(huì)觸發(fā)
特點(diǎn):元素不可見(jiàn),占據(jù)頁(yè)面空間,無(wú)法響應(yīng)點(diǎn)擊事件
opacity:0
opacity
屬性表示元素的透明度,將元素的透明度設(shè)置為0后,在我們用戶眼中,元素也是隱藏的
不會(huì)引發(fā)重排,一般情況下也會(huì)引發(fā)重繪
如果利用 animation 動(dòng)畫(huà),對(duì) opacity 做變化(animation會(huì)默認(rèn)觸發(fā)GPU加速),則只會(huì)觸發(fā) GPU 層面的 composite,不會(huì)觸發(fā)重繪
1 2 3 | . transparent { opacity: 0 ; } |
由于其仍然是存在于頁(yè)面上的,所以他自身的的事件仍然是可以觸發(fā)的,但被他遮擋的元素是不能觸發(fā)其事件的
需要注意的是:其子元素不能設(shè)置opacity來(lái)達(dá)到顯示的效果
特點(diǎn):改變?cè)赝该鞫龋夭豢梢?jiàn),占據(jù)頁(yè)面空間,可以響應(yīng)點(diǎn)擊事件
設(shè)置height、width屬性為0
將元素的margin
,border
,padding
,height
和width
等影響元素盒模型的屬性設(shè)置成0,如果元素內(nèi)有子元素或內(nèi)容,還應(yīng)該設(shè)置其overflow:hidden
來(lái)隱藏其子元素
1 2 3 4 5 6 7 8 | .hiddenBox { margin : 0 ; border : 0 ; padding : 0 ; height : 0 ; width : 0 ; overflow : hidden ; } |
特點(diǎn):元素不可見(jiàn),不占據(jù)頁(yè)面空間,無(wú)法響應(yīng)點(diǎn)擊事件
position:absolute
將元素移出可視區(qū)域
1 2 3 4 5 | . hide { position : absolute ; top : -9999px ; left : -9999px ; } |
特點(diǎn):元素不可見(jiàn),不影響頁(yè)面布局
clip-path
通過(guò)裁剪的形式
1 2 3 | . hide { clip-path: polygon( 0px 0px , 0px 0px , 0px 0px , 0px 0px ); } |
特點(diǎn):元素不可見(jiàn),占據(jù)頁(yè)面空間,無(wú)法響應(yīng)點(diǎn)擊事件
小結(jié)
最常用的還是display:none
和visibility:hidden
,其他的方式只能認(rèn)為是奇招,它們的真正用途并不是用于隱藏元素,所以并不推薦使用它們
區(qū)別
關(guān)于display: none
、visibility: hidden
、opacity: 0
的區(qū)別,如下表所示:
display: none | visibility: hidden | opacity: 0 | |
---|---|---|---|
頁(yè)面中 | 不存在 | 存在 | 存在 |
重排 | 會(huì) | 不會(huì) | 不會(huì) |
重繪 | 會(huì) | 會(huì) | 不一定 |
自身綁定事件 | 不觸發(fā) | 不觸發(fā) | 可觸發(fā) |
transition | 不支持 | 支持 | 支持 |
子元素可復(fù)原 | 不能 | 能 | 不能 |
被遮擋的元素可觸發(fā)事件 | 能 | 能 | 不能 |
如果您的問(wèn)題還未解決可以聯(lián)系站長(zhǎng)付費(fèi)協(xié)助。

有問(wèn)題可以加入技術(shù)QQ群一起交流學(xué)習(xí)
本站vip會(huì)員 請(qǐng)加入無(wú)憂模板網(wǎng) VIP群(50604020) PS:加入時(shí)備注用戶名或昵稱
普通注冊(cè)會(huì)員或訪客 請(qǐng)加入無(wú)憂模板網(wǎng) 技術(shù)交流群(50604130)
客服微信號(hào):15898888535
聲明:本站所有文章資源內(nèi)容,如無(wú)特殊說(shuō)明或標(biāo)注,均為采集網(wǎng)絡(luò)資源。如若內(nèi)容侵犯了原著者的合法權(quán)益,可聯(lián)系站長(zhǎng)刪除。