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”仅仅是隐藏了元素的显示效果,但是仍然占据页面空间!

  

 

转载于:https://www.cnblogs.com/tangfly/p/5874685.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值