美文网首页
display: none,visibility: hidden

display: none,visibility: hidden

作者: 王难道 | 来源:发表于2016-10-29 15:53 被阅读0次

    这两个属性看起来都是让元素隐藏,有什么区别呢?

    从文档角度而言,display:none表示把该元素从文档中删除,当作其不存在,自然“隐藏”了,实际上是删除了

    visibility: hidden意思是元素本来在文档哪里就放在哪里,浏览器一样去渲染,但是视觉上不表现出来

    这样我们就知道两个的浏览器层面的区别了,前者根本不渲染,后者还会渲染,只不过不可见。也就是说前者不占据空间,后者虽然不可见,但仍然占据空间

    而opacity:0更好理解,从字面上来说就是把元素变成透明的,但是元素还在那里,依然是可以触摸的(鼠标可点),而display: none和visibility: hidden则不可触摸

    测试代码:

    <!DOCTYPE html>
    <html lang="en">
    <head>
      <meta charset="UTF-8">
      <meta name="viewport" content="width=device-width, initial-scale=1.0">
      <meta http-equiv="X-UA-Compatible" content="ie=edge">
      <title>Document</title>
    </head>
    <body>
      AAA<a href="#" style="display:none;">BBB</a>CCC
      <br/>
      AAA<span>BBB</span>CCC
      <br/>
      AAA<a href="#" style="visibility:hidden;">BBB</a>CCC
      <br/>
      AAA<a href="#" style="opacity:0;">BBB</a>CCC
      <br/>
      AAA<a href="#" >BBB</a>CCC
    </body>
    </html>
    

    相关文章

      网友评论

          本文标题:display: none,visibility: hidden

          本文链接:https://www.haomeiwen.com/subject/ttdyuttx.html