visibility:hidden與display:none的一些比較與應(yīng)用

首先看看兩者在mdn上的解釋:
visibility: visible | hidden | collapse | inherit
visible: 元素正常顯示.
hidden: 隱藏元素,但是其他元素的布局不改變.相當(dāng)于此元素變成透明
collapse: 暫時(shí)沒用過,以后用到了再補(bǔ)充.
默認(rèn)值是visible, 是繼承屬性:意味著我們給父元素設(shè)置visibility: hidden,則子元素繼承該屬性,表現(xiàn)為隱藏,符合我們的預(yù)期.
display: none | inline | block | flex ....
display 屬性指定用于元素的呈現(xiàn)框的類型,元素默認(rèn)的display屬性取決于html規(guī)范中所描述的行為或?yàn)g覽器的默認(rèn)樣式表.
比較特別的是display: none,聲明了該屬性的元素包括其子元素都不會被瀏覽器渲染.即元素節(jié)點(diǎn)"不存在".

區(qū)別

  1. 首先是布局上: visibility:hidden 占用布局,display:none不會占用頁面布局.
  2. visibility: hidden是可以被過渡的屬性(與transition配合使用).
    看例子:
.foo {
  background-color: orange;
  width: 100px;
  height: 100px;
  border: 1px solid;
  transition: all 0.5s ease-in;
  visibility: visible;
}

.foo:hover {
  visibility: hidden;
}

元素會在0.5s后隱藏.可以將它與opacity屬性做類比: visible等價(jià)于1, hidden等價(jià)于0,當(dāng)值為0時(shí)元素隱藏.

相同點(diǎn)

visibility:hidden的元素?zé)o法捕獲點(diǎn)擊等事件(與display: none相同)

一個(gè)用于二級導(dǎo)航的例子:

.menu-item-has-children:hover .sub-menu {
  visibility: visible;
  opacity: 1;
}
.sub-menu {
  transition: all 0.3s ease-in-out;
  visibility: hidden;
  opacity: 0;
}

這里給二級導(dǎo)航欄添加了漸隱效果,同時(shí)為了防止二級導(dǎo)航欄隱藏以后依然可點(diǎn)擊,于是添加了visibility屬性過渡.

opacity: 0 時(shí)元素依然可以捕獲點(diǎn)擊事件! 此時(shí)只是元素變透明而已

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 問答題47 /72 常見瀏覽器兼容性問題與解決方案? 參考答案 (1)瀏覽器兼容問題一:不同瀏覽器的標(biāo)簽?zāi)J(rèn)的外補(bǔ)...
    _Yfling閱讀 14,163評論 1 92
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    love2013閱讀 2,441評論 0 11
  • 選擇qi:是表達(dá)式 標(biāo)簽選擇器 類選擇器 屬性選擇器 繼承屬性: color,font,text-align,li...
    wzhiq896閱讀 2,126評論 0 2
  • (1)花色素苷,讓血液暢通無阻黑豆的黑色是「花色素苷」,花色素苷是一種抗氧化的蛋白質(zhì)。它可以讓血液順暢流動,具有改...
    平原女王閱讀 2,287評論 0 0
  • 叮鈴鈴······,鬧鐘在7點(diǎn)鐘準(zhǔn)時(shí)響起,你是否也和我一樣,不想離開溫暖柔軟的床鋪,默默地對自己說“再給我15分鐘...
    林林木木閱讀 203評論 0 0

友情鏈接更多精彩內(nèi)容