使用display:none和visibility:hidden有什麼差別?

零下一度
發布: 2017-06-24 14:03:15
原創
2293 人瀏覽過

今天做畢設時遇到了一個小問題,我做了一個tab導航欄,點擊一個tab頁其它tab頁隱藏,這時候第一想法是使用display:none來控制顯示隱藏,寫了之後發現使用display會有一個問題,就是第二個tab頁的輪播圖是在頁面渲染時取得第二個tab頁中某個元素的寬度來做自適應效果,因為已經隱藏,寬度為0,所以導致輪播圖的高度也是0,後來把display:none改為visibility:hidden就正常顯示和播放了。

display:none和visibility:hidden的差異是:

1.display:none是完全消失,不在文件流中佔位,瀏覽器也不會解析該元素;visibility: hidden是視覺上消失了,可以理解為透明度為0的效果,在文檔流中佔位,瀏覽器會解析該元素;

2.使用visibility:hidden比display:none性能上要好, display:none切換顯示時visibility,頁面產生回流(當頁面中的一部分元素需要改變規模尺寸、佈局、顯示隱藏等,頁面重新構建,此時就是回流。所有頁面第一次加載時需要產生一次回流) ,而visibility切換是否顯示時則不會引起回流。

所以我使用visibility:hidden,在頁面渲染時第二個tab頁中的輪播圖就可以取得寬度做自適應了。

以上是使用display:none和visibility:hidden有什麼差別?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

相關標籤:
來源:php.cn
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板