CSS display:none和visibility:hidden區別

來源:互聯網
上載者:User

這裡向大家描述一下CSS display:none和visibility:hidden的區別,visibility:hidden隱藏,但在瀏覽時保留位置;而CSS display:none視為不存在,且不載入!

 

 

你知道CSS display:none和visibility:hidden的區別嗎,這裡和大家分享一下,使用CSS display:none屬性後,HTML元素(對象)的寬度、高度等各種屬性值都將“丟失”;而使用visibility:hidden屬性後,HTML元素(對象)僅僅是在視覺上看不見(完全透明),而它所佔據的空間位置仍然存在。

CSS display:none和visibility:hidden的區別

visibility:hidden隱藏,但在瀏覽時保留位置;CSS display:none視為不存在,且不載入!

Overflow屬性值{visible|hidden|scroll|auto}前提是先要限制DIV的寬度(width)和高度(height)。二者都是隱藏HTML元素,在視覺效果上沒有區別,但在一些DOM操作中二者還是有所不同的。

CSS display:none;

使用該屬性後,HTML元素(對象)的寬度、高度等各種屬性值都將“丟失”;

visibility:hidden;

使用該屬性後,HTML元素(對象)僅僅是在視覺上看不見(完全透明),而它所佔據的空間位置仍然存在,也即是說它仍具有高度、寬度等屬性值。

具體區別請看示範代碼吧:

  1. <!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN"  
  2. "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> 
  3. <htmlxmlnshtmlxmlns="http://www.w3.org/1999/xhtml"lang="gb2312"> 
  4. <head> 
  5. <head> 
  6. <title>執行個體示範:CSS display:none和visible:hidden的區別</title> 
  7. <metahttp-equivmetahttp-equiv="content-type"content="text/html;charset=gb2312"/> 
  8. <metahttp-equivmetahttp-equiv="content-type"content="text/html;charset=gb2312"/> 
  9. <metanamemetaname="author"content="楓岩,CnLei.y.l@gmail.com"> 
  10. <metanamemetaname="copyright"content="http://www.cnlei.com"/> 
  11. </head> 
  12. <body> 
  13. <p><ahrefahref="javascript:alert($('CnLei_1').innerHTML+'的寬度:\n'  
  14. +GetXYWH($('CnLei_1')).W);">點擊這裡CSS display:none;</a></p> 
  15. <p><ahrefahref="javascript:alert($('CnLei_2').innerHTML+'的寬度:\n'  
  16. +GetXYWH($('CnLei_2')).W);">點擊這裡visibility:hidden;</a></p> 
  17. <dividdivid="CnLei_1"style="CSS display:none;">CnLei_1</div> 
  18. <dividdivid="CnLei_2"style="visibility:hidden;">CnLei_2</div> 
  19.  
  20. <scripttypescripttype="text/javascript"> 
  21. varw3c=(document.getElementById)?true:false;  
  22. varagt=navigator.userAgent.toLowerCase();  
  23. varie=((agt.indexOf("msie")!=-1)  
  24. &&(agt.indexOf("opera")==-1)&&(agt.indexOf("omniweb")==-1));  
  25. varie5=(w3c&&ie)?true:false;  
  26. varns6=(w3c&&(navigator.appName=="Netscape"))?true:false;  
  27.  
  28. function$(o){  
  29. returndocument.getElementById(o)?document.getElementById(o):o;  
  30. }  
  31.  
  32. functionGetXYWH(o){  
  33. varo=$(o);  
  34. varnLt=0;  
  35. varnTop=0;  
  36. varoffsetParent=o;  
  37. while(offsetParent!=null&&offsetParent!=document.body){  
  38. nLt+=offsetParent.offsetLeft;  
  39. nTop+=offsetParent.offsetTop;  
  40. if(!ns6){  
  41. parseInt(offsetParent.currentStyle.borderLeftWidth)>0?  
  42. nLt+=parseInt(offsetParent.currentStyle.borderLeftWidth):"";  
  43. parseInt(offsetParent.currentStyle.borderTopWidth)>0?  
  44. nTop+=parseInt(offsetParent.currentStyle.borderTopWidth):"";  
  45. }  
  46. offsetParentoffsetParent=offsetParent.offsetParent;  
  47. }  
  48. return{X:nLt,Y:nTop,W:o.offsetWidth,H:o.offsetHeight};  
  49. }  
  50. </script> 
  51. </body> 
  52. </html> 
相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.