CSS樣式“display:none”與“visibility:hidden”區別


  CSS樣式“display:none”和“visibility:hidden”都可以實現將頁面元素隱藏,但是具體的效果是有差別的!下面通過兩個小實驗來說明這種差異。

  實驗代碼:

 1 <!DOCTYPE html>
 2 <html>
 3 <head>
 4     <title>none</title>
 5     <meta charset="utf-8">
 6     <style type="text/css">
 7         div {
 8             height: 200px;
 9             width: 200px;
10             text-align: center;
11             margin: 20px;
12         }
13         #div1 {
14             background-color: #E33;
15         }
16         #div2 {
17             background-color: #33E;
18         }
19     </style>
20     <script type="text/javascript">
21         window.onload = function(){
22             document.getElementById('btn').onclick = function(){
23                 document.getElementById('div1').style.display = 'none';
24             };
25         }
26     </script>
27 </head>
28 <body>
29     <div id="div1">div 1</div>
30     <div id="div2">div 2</div>
31     <button id="btn">hide</button>
32 </body>
33 </html>
View Code

  實驗一:使用樣式“display:none”隱藏元素。

  如上述代碼所示,點擊按鈕時,會為Id為“div1”的div元素添加樣式“display:none”。下面開始實驗。

  左圖為點擊“hide”按鈕之前,頁面的顯示效果,右圖為點擊按鈕之后的頁面效果。

點擊hide按鈕之前頁面的顯示效果點擊hide按鈕之后頁面的顯示效果

  

 

 

 

 

 

 

 

 

 

 

 

 

 

  結論一:樣式“display:none”會完全隱藏元素,不再占據頁面空間!

  實驗二:使用樣式“visibility:hidden”隱藏元素。

  首先將上述代碼片段修改如下:

1       <script type="text/javascript">
2         window.onload = function(){
3             document.getElementById('btn').onclick = function(){
4                 document.getElementById('div1').style.visibility = 'hidden';
5             };
6         }
7     </script>    
View Code

  下面開始實驗,左右兩圖分別是點擊“hide”按鈕之前和之后的頁面顯示效果。

點擊hide按鈕之前頁面的顯示效果點擊hide按鈕之后頁面的顯示效果

 

 

 

 

 

 

 

 

 

 

 

 

 

  結論二:樣式“visibility:hidden”僅僅是隱藏了元素的顯示效果,但是仍然占據頁面空間!

  

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM