隐藏页面元素

hidden、display: none、visibility: hidden、opacity=0
这几种方法都可以隐藏页面元素,但是hidden是html属性,其余三种是样式,另外它们还有以下区别:

hidden

hidden是html5新增加的属性,具体用法如下:
<p hidden="hidden">这是一段隐藏的段落。</p>
hidden属性实际上是为元素添加了display: none 样式。


display: none;

  • 浏览器不会生成属性为display: none;的元素。
  • display: none 不占据空间(不渲染所以不占空间),所以动态改变此属性时会引起重排。
  • display: none 不会被子类继承,但是子类也不会显示。

visibility: hidden;

  • 元素会被隐藏,但是不会消失,依然占据空间。
  • visibility: hidden 会被子类继承,子类也可以通过显示的设置visibility: visible;来反隐藏。
  • visibility: hidden 不会触发该元素已经绑定的事件。
  • visibility: hidden 动态修改此属性会引起重绘。

opacity=0

  • opacity=0 只是透明度为100%,元素隐藏,依然占据空间。
  • opacity=0 会被子元素继承,但子元素并不能通过opacity=1,进行反隐藏。
  • opacity=0 的元素依然能触发已经绑定的事件。
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容