CSSWeb前端之路程序员

三种隐藏 HTML 元素的方式

2017-02-05  本文已影响3120人  Wenliang

在网页应用中,显示/隐藏某个元素或组件是一件经常要做的事情,尤其是在目前比较流行的单页应用中。

总体而言,有 3 种方式来实现

  1. CSS 的 display: none;
  2. CSS 的 visibility: hidden;
  3. HTML5 的 hidden 属性(boolean)

它们之间有相同点和不同点。相同点很简单,都能使添加了这个属性的元素及其子元素『不被看见』。这篇文章着重来比较一下它们之间的差异。


display: none;

添加了这个属性的元素:

visibility: hidden;

添加了这个属性的元素:

HTML5 hidden

E.g. <p hidden>hello, world!</p>
添加了这个属性的元素:

文档上摘取的用例之一:

<h1>The Example Game</h1>
<section>
  <h2>Login</h2>
  <form>
    ...
    <!-- 调用 login() 当用户的身份被成功检测时 -->
  </form>
  <script>
    function login() {
      // switch screens
      document.getElementById('login').hidden = true;
      document.getElementById('game').hidden = false;
    }
  </script>
</section>
<section hidden>
  ...
</section>

总结

每种用法都有自己的优势和劣势,需要根据具体的业务场景来选择用哪一种方式。
如有错误或遗漏,欢迎指出,谢谢!

上一篇 下一篇

猜你喜欢

热点阅读