CSS3 3種隱藏元素方法的區別 [Toc] display: none 1. 結構: 瀏覽器不會渲染 的元素, 並且不占據頁面空間 2. 事件監聽: 無法對元素進行事件監聽 3. 繼承: 不會被子元素繼承(子元素設置 不會顯示) 4. 改動: 改動屬性值會引起頁面的 重排 和 重繪 5. 過渡: ...
目錄
CSS3--3種隱藏元素方法的區別
display: none
DOM
結構: 瀏覽器不會渲染display:none
的元素, 並且不占據頁面空間- 事件監聽: 無法對元素進行事件監聽
- 繼承: 不會被子元素繼承(子元素設置
display: block
不會顯示) - 改動: 改動屬性值會引起頁面的重排和重繪
- 過渡: 無法設置過渡效果
transition: display
無效
visibility: hidden
- 不會被渲染,但是會占據頁面空間
- 無法對元素設置事件監聽
- 可以繼承,子元素設置非
visibility:hidden
可以顯示 - 改動屬性只會引起頁面重排
transition:visibility
會立即顯示,hidden有過渡效果
opacity: 0
- 元素被隱藏, 會占據頁面空間
- 可以設置事件監聽
- 可以繼承,
子元素設置opacity可以顯示
- 不會重繪也不會重排
transition
:opacity
可以實現顯示隱藏的過渡效果opacity
會觸發硬體加速