元素隐藏的方式之--hidden,display,visibility

Posted 达摩院的BLOG

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了元素隐藏的方式之--hidden,display,visibility相关的知识,希望对你有一定的参考价值。

<html lang="en">  
<head>  
    <meta charset="UTF-8">  
    <title>标签或者内容的隐藏</title>  
    <style>  
        .display-none{
            display:none;
        }
        .display-block{
            display:inline-block;
        }
        /* visibility属性 */
        .visibility-hidden{
            visibility:hidden;
        }
        .visibility-visible{
            visibility:visible;
        }
    </style>  
</head>  
<body>  
   <h3>1.hidden属性</h3>
   <span id="hidden" hidden>通过hidden属性显示或隐藏</span>
   <span  style="width:30px;height:30px;background-color:pink;" onclick="fnHidden()">hidden属性--点击</span>
    <h3>2.style的display属性</h3>
   <span id="display" class="display-none">通过display属性显示或者隐藏</span>
   <span  style="width:30px;height:30px;background-color:pink;" onclick="fndDisplay()">display属性--点击</span>
   <h3>2.style的display属性</h3>
   <span id="visibility" class="visibility-hidden">visibility属性显示或者隐藏</span>
   <span  style="width:30px;height:30px;background-color:pink;" onclick="fnVisibility()">visibility属性--点击</span>
   <h2 style="color:red;">总结</h2>
       方式1和方式2:隐藏元素不会占位置;<br/>
       方式3,隐藏元素依旧占位子,避免空出位置。
</body>
<script type="text/javascript">
    /**
     *hidden属性应用 --方式1
     */    
     function fnHidden(){
         var ele = document.getElementById(hidden);
         var flag = ele.hasAttribute(hidden);//是否有hidden属性
         if(flag){//隐藏
             ele.removeAttribute(hidden);
         }else{//显示
             ele.setAttribute(hidden,hidden);
         }
     }
     
     /**
      *display属性--方式1
      */
     function fndDisplay(){
         var ele = document.getElementById(display);
         var className = ele.className;
         if(className == display-none){//隐藏
             ele.className = display-block
         }else{//显示
             ele.className = display-none
         }
     }
     
     /**
      *visibility属性--方式3
      */
     function fnVisibility(){
         var ele = document.getElementById(visibility);
         var className = ele.className;
         if(className == visibility-hidden){//隐藏
             ele.className = visibility-visible
         }else{//显示
             ele.className = visibility-hidden
         }
     }
     
</script>
</html>

 

以上是关于元素隐藏的方式之--hidden,display,visibility的主要内容,如果未能解决你的问题,请参考以下文章

如何让html的某个元素隐藏,我们一般有三种方式:display:none, opacity:0, visibility:hidden。但这三种方式有何区别?

CSS之高级技巧

CSS中如何让元素隐藏?

CSS3之“隐藏”元素的方法

display:none和visibility:hidden的区别

display:none vs visibility:hidden