隐藏一个元素的方式有几种

148 阅读2分钟

今天分享一个关于CSS的知识点

如何隐藏一个元素?

  • CSS
    • display:none
    • opacity:0
    • visibili: hidden

这是我所能列举出来的方式,相信所有的开发者都会想到

当然还有其他操作: 比如将元素移出可视区范围内,大多数网站的logo就是这个操作吧

后来又查到还可以通过HTML5中提供的 [hidden](https://developer.mozilla.org/zh-CN/docs/Web/HTML/Global_attributes/hidden) 属性去隐藏, 坦白说作为一个面向搜索引擎的开发者我还真没用过🤣🤣🤣🤣

它隐藏元素的表现和display:none类似,并且一个拥有hidden属性的元素,如果在css中设置display相关内容,hidden的表现行为会被覆盖

下面主要在这个问题的基础上拓展两个知识点

三种隐藏元素的方式,哪个可以对元素进行点击操作

  • display:none

不可以,因为这种设置方式下文档渲染得好像这个元素并不存在,所以自然不能进行点击操作

  • opacity:0

元素真实存在的,并且是会渲染的,只是视觉上看不见,所以它拥有正常dom的所有功能

  • visibility:hidden

这个是不是就需要思考一下了?我第一次也会在脑海中思考下,思来想去想到了一个错误答案🤣下边我们就来探索下真理

image.png

我们会发现描述中有这么一句话元素无法获取获得焦点

  • 这就是导致我们不能进行交互的原因

三种隐藏元素的方式中,那种情况下子元素是可以显示的

display:none

  • 就不讨论了,父元素直接不渲染在页面上,子元素谈何显示

opacity:0

  • 这里又是一个会让人疑惑的点
  • 第一步打开MDN中关于opacity的介绍
  • 在MDN中已经描述的很清楚了

image.png

visibility:hidden

  • 同样也描述的很清楚

image.png

没用的小知识又增加了😎

可能在开发中也没啥大用处,但是学习嘛,就是一步一步的去探索,去拓展自己的知识面,这就是学习的乐趣所在啦 如果有其他更好的方法也欢迎大家提出来,我们互相学习