CSS中visibility:hidden、display:none、opacity:0、rgba設置元素隱藏的區(qū)別

共同點:
visibility:hidden、display:none、opacity:0三者都可以使元素隱藏
區(qū)別在于:
1、visibility:hidden 保留dom節(jié)點,元素在文檔流中占據(jù)空間,不引起重排和回流;父元素設置該屬性時,子元素同樣會生效,但可以通過visibility:visible;修改子元素的顯示效果;
2、display:none 不保留dom節(jié)點,元素直接從文檔流中刪除,引起重排和回流,子元素同樣被刪除;
3、opacity:0 設置元素透明度為0,保留dom節(jié)點,元素在文檔流中占據(jù)空間,子元素會繼承父元素的opacity特性,但是子元素設置opacity:1;同樣不會顯示出來。
4、通過給元素設置rgba(x,x,x,0)為透明隱藏效果,但仍然會占據(jù)一片空間,且子元素不會受到影響
<!DOCTYPE html> <html lang="en"> <head> <meta charset="UTF-8" /> <meta http-equiv="X-UA-Compatible" content="IE=edge" /> <meta name="viewport" content="width=device-width, initial-scale=1.0" /> <title>Document</title> <style> .father1{ height: 200px; width: 200px; background-color: #aabbcc; margin-top:20px; display: none; } .son1{ height: 100px; width: 100px; background-color: #eeaaee; display: block; } .father2{ opacity: 0; height: 200px; width: 200px; background-color: #aabbcc; margin-top:20px; opacity: 0; } .son2{ height: 100px; width: 100px; background-color: #eeaaee; opacity: 1; } .father3{ visibility: hidden; height: 200px; width: 200px; background-color: #aabbcc; margin-top:20px; visibility: hidden; } .son3{ height: 100px; width: 100px; background-color: #eeaaee; visibility: visible; } </style> </head> <body> <div class="father1"> <div class="son1"></div> </div> <div class="father2"> <div class="son2"></div> </div> <div class="father3"> <div class="son3"></div> </div> <script></script> </body> </html>
到此這篇關于CSS中visibility:hidden、display:none、opacity:0、rgba設置元素隱藏的區(qū)別的文章就介紹到這了,更多相關CSS visibility:hidden、display:none、opacity:0、rgba內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章,希望大家以后多多支持腳本之家!
相關文章
css之Display、Visibility、Opacity、rgba和z-index: -1的區(qū)別
這篇文章主要介紹了css之Display、Visibility 和 Opacity 的區(qū)別,方便我們后期根據(jù)需要選擇,需要的朋友可以參考下2020-11-07CSS 中的 display、visibility,和opacity 的區(qū)別解析
display 主要影響元素在布局中的顯示方式,可以完全隱藏元素并且不占據(jù)空間;visibility 控制元素的可見性,隱藏元素時仍然占據(jù)空間;opacity 控制元素的透明度,改變元素2023-11-07