说说display:none和visibility:hidden的区别

news/2024/11/30 9:56:18/文章来源:https://www.cnblogs.com/ai888/p/18578090

display: nonevisibility: hidden 都可以隐藏元素,但在如何隐藏以及对页面布局的影响方面有所不同:

display: none

  • 彻底隐藏: 元素完全从文档流中移除,就像它从未存在过一样。占据的空间会被其他元素填充。
  • 不占据空间: 隐藏后的元素不占据任何空间,不会影响页面布局。
  • 无法响应事件: 隐藏后的元素无法响应任何用户交互事件,例如点击、悬停等。
  • 子元素也会被隐藏: 除非子元素单独设置 display 属性为其他值,否则子元素也会被隐藏。
  • 性能影响较小: 因为元素完全从渲染树中移除,所以对浏览器性能的影响相对较小,尤其是在隐藏大量元素时。

visibility: hidden

  • 视觉上隐藏: 元素只是视觉上不可见,但仍然存在于文档流中,占据着原来的空间。
  • 占据空间: 隐藏后的元素仍然占据着原来的空间,会影响页面布局。
  • 无法响应事件:display: none 相同,隐藏后的元素无法响应用户交互事件。
  • 子元素也会被隐藏: 除非子元素单独设置 visibility 属性为 visible,否则子元素也会被隐藏。
  • 性能影响较大: 浏览器仍然需要渲染隐藏的元素,只是不显示出来,因此对性能的影响比 display: none 大,尤其是在隐藏大量元素时。

总结:

特性 display: none visibility: hidden
占据空间
影响布局
响应事件
子元素隐藏
性能影响 较小 较大

使用场景:

  • display: none: 适用于希望元素完全从页面中移除,并且不影响布局的情况,例如根据条件动态显示或隐藏某些内容。
  • visibility: hidden: 适用于希望元素暂时隐藏,但保留其在页面布局中的位置的情况,例如实现类似 loading 效果,或者在切换元素状态时避免页面重排。

希望以上解释能够帮助你理解 display: nonevisibility: hidden 的区别。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/844019.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【人人都能学得会的NLP - 文本分类篇 03】长文本多标签分类分类如何做?

【人人都能学得会的NLP - 文本分类篇 03】长文本多标签分类分类如何做? NLP Github【人人都能学得会的NLP - 文本分类篇 03】长文本多标签分类分类如何做?NLP Github 项目:NLP 项目实践:fasterai/nlp-project-practice 介绍:该仓库围绕着 NLP 任务模型的设计、训练、优化、…

考研打卡(31)

开局(31) 开始时间 2024-11-30 08:23:52 结束时间 2024-11-30 09:24:35睡醒了。睡了六个小时睡不着了数据结构若一个有向图中的顶点不能排成一个拓扑序列,则可断定该有向图______(武汉科技大学 2013年) A 是个有根有向图 B 是个强连通图 C 含有多个入度为0的顶点 D 含有顶…

HTML5图像相关的标签有哪些?

HTML5 中与图像相关的标签主要有以下几个:<img> (Image): 这是最常用的图像标签,用于在网页上嵌入图像。它是一个自关闭标签,意味着它不需要结束标签 </img>。<picture> (Picture): <picture> 元素允许你定义多个图像源,浏览器会根据不同的设备特…

2024-2025-1 20241305 《计算机基础与程序设计》第十周学习总结

作业信息这个作业属于哪个课程 2024-2025-1-计算机基础与程序设计(https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP))这个作业要求在哪里 2024-2025-1计算机基础与程序设计第十周作业(https://edu.cnblogs.com/campus/besti/2024-2025-1-CFAP/homework/13276))这个作业…

永硕网盘装修代码

查看代码<script> var num=2, rq_x=500, rq_d=800; var theme="3", linkstyle="0", colorbg="1"; var wfg="#FFF"; var music = [1433562661,1476239783,452804061,418602088,489768079,1478190629,1472951595,446944028,419374…

读数据质量管理:数据可靠性与数据质量问题解决之道19数据未来

数据未来1. 开创可靠数据系统的未来 1.1. 数据作为一个行业很可能正在经历一场巨大且不可逆转的巨变 1.2. 分析型数据正变成现代企业最关键和最具竞争力的核心资产1.2.1. 不再是公司是否依赖数据的问题1.2.2. 是使用多少数据以及将数据用于什么场景的问题1.3. 仅仅收集更多数据…

Linux之内存优化

虚拟内存与物理内存 计算机系统把内存组织成固定大小的页( page),页的大小是基于处理器架构的,例如在 x86_64 上标准的页为 4K。物理内存被划分为页帧(frames),一个页帧包含一页数据。 进程不会直接寻址物理内存,每个进程都有一个虚拟地址空间,当进程请求内存时,内核通过…

Linux之性能调优

什么是性能调优? 性能调优是调整系统设置以提高计算资源利用率,数据吞吐量和用户体验的过程。它需要非常了解系统的硬件和软件组件,以及系统之间的许多交互。性能调优有时也被称为“黑色艺术”。 性能调优经常与故障排查相混淆。但两者有很多区别。在做故障诊断时,主要目标…

企业级数据安全-CDH集群-dolphinscheduler海豚调度一站式数据安全技术实战2025

2024-11 月 测试环境 上 kerberos 认证1.1 修改 拷贝机器的IP地址, 改成和测试环境 5台机器一样的 IP映射,vim /etc/hosts 改成如下:127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4::1 localhost localhost.localdomain…

STMcubeMX 使用(一)

今天给大家介绍一个STMcubeMX的简单实用案例,让大家对这个工具的使用有一点直观的感受。 前提是你已经安装好了自己开发板需要使用的package。 第一步:打开我们已经安装好的STMcubeMX软件现在最新版本的STMcubeMX界面可以通过多个方式开始新建一个项目。 第二步,我们从MCU型…

OpenVZ 9.0 - 基于容器的 Linux 开源虚拟化解决方案

OpenVZ 9.0 - 基于容器的 Linux 开源虚拟化解决方案OpenVZ 9.0 - 基于容器的 Linux 开源虚拟化解决方案 Open source container-based virtualization for Linux 请访问原文链接:https://sysin.org/blog/openvz-9/ 查看最新版。原创作品,转载请保留出处。 作者主页:sysin.or…

Virtuozzo Hybrid Server 9.0 - 容器、计算和存储虚拟化平台

Virtuozzo Hybrid Server 9.0 - 容器、计算和存储虚拟化平台Virtuozzo Hybrid Server 9.0 - 容器、计算和存储虚拟化平台 The VMware alternative for service providers and enterprises 请访问原文链接:https://sysin.org/blog/virtuozzo-hybrid-server-9/ 查看最新版。原创…