常见JavaScript页面部分内容显示/隐藏设置总结

news2025/3/28 13:28:15

项目中经常遇到通过js判断对页面中某一部分进行显示/隐藏设置的场景,经常使用的是display,有时也会使用visibilityopacity,为此,特意查询了相关内容,对其进行了一下汇总记录下:

除了 display,在控制 div 元素的显隐时,还有一些常用的 CSS 属性可以使用。这些包括:

1、visibility

描述visibility 属性用于控制元素是否可见。与 display: none 不同,visibility: hidden 会让元素变得不可见,但仍占据原本的位置,影响布局。
用法visibility: hiddenvisibility: visible
适用场景

  • 用于你希望元素保持在文档流中,但不需要显示的场景。
  • 例如,某些动画效果中,可以暂时隐藏元素,但不希望影响布局或页面的其它内容。
.hidden {
  visibility: hidden; /* 隐藏,但占位 */
}
.visible {
  visibility: visible; /* 显示 /
}

● 与 display 的区别:

  • display: none 会完全从页面中移除元素,不占据空间。
  • visibility: hidden 会使元素不可见,但仍会占据布局中的空间。

2. opacity

描述opacity 属性用于设置元素的透明度。透明度为 0 时,元素完全透明;为 1 时,元素完全不透明。值的范围是 01
用法opacity: 0(完全透明,元素不可见)到 opacity: 1(完全不透明)之间的任意值。
适用场景

  • 当需要通过透明度变化来实现渐隐或渐显效果时。常用于动画、过渡效果等场景。
  • 注意,opacity 不会影响元素的位置,它依然会占据页面布局。
.transparent {
  opacity: 0; / 完全透明,不影响布局 */
}
.opaque {
  opacity: 1; /* 不透明 /
}

● 与 display的区别:

  • opacity: 0 会让元素不可见,但它仍然占据页面空间。
  • display: none 会完全从页面中移除元素,不占据任何空间。

3. position 配合 top/left (绝对定位或固定定位)

描述:通过设置元素的 position: absoluteposition: fixed,你可以将元素移动到视口之外(例如 top: -9999pxleft: -9999px),使元素看起来不可见。虽然它仍然存在于文档流中,但它被移动到屏幕外,不会影响页面显示。
适用场景
用于动态隐藏元素,通过移动到视口之外达到隐藏效果,通常用于弹出层或动画效果中。

.hidden {
  position: absolute;
  top: -9999px; / 移动元素到视口外 /
}

● 与 display 的区别:

  • position 配合 top/left 会让元素移出视口,但元素仍然占据空间。
  • display: none 会完全移除元素,不占据任何空间。

4. visibility: collapse (表格相关)

描述:这个属性是专门为表格元素设计的,它可以隐藏表格行或列,且隐藏的行或列不会占据空间。
适用场景
适用于表格行(<tr>)或列(<td>)的隐藏,常见于表格的动态显示隐藏效果。

.collapsed {  
  visibility: collapse; /* 在表格中隐藏行或列,且不占空间 */
}

● 与 display 的区别:

  • visibility: collapse 在表格中相当于将行或列完全隐藏并且不占空间。对于非表格元素,visibility: hidden 才是通常的选择。

总结:不同方法的适用场景与区别

display: none:

行为:元素完全消失,不占据空间。
适用场景:需要彻底隐藏元素且不影响布局的情况,如动态内容的加载或菜单的显示/隐藏。

visibility: hidden:

行为:元素不可见,但仍占据空间。
适用场景:需要保留元素占据的布局空间,但隐藏显示内容的情况,如需要动画过渡时的隐藏。

opacity: 0:

行为:元素透明,不影响布局。
适用场景:透明度变化的场景,常用于过渡效果或者渐显/渐隐动画。

position: absolute/left: -9999px 等:

行为:将元素移出视口外,不显示但仍占据空间。
适用场景:元素需要隐藏,但不希望它完全被移除,且不希望它影响其他元素的位置。

visibility: collapse(表格特有):

行为:表格行或列被隐藏且不占空间。
适用场景:用于动态隐藏表格行或列,常用于表格内容的显示控制。

何时使用

  • 使用display: none 适用于你希望元素完全消失并且不占空间的场景。
  • 使用visibility: hidden 适用于你希望隐藏元素但仍然保留它的位置的场景。
  • 使用opacity: 0 适用于需要透明效果或过渡动画时。
  • 使用position 结合 topleft适用于将元素移出视口,但仍占据原有布局的场景。
  • 使用visibility: collapse 适用于表格的行或列隐藏效果。

这些属性各有不同的效果,选择时需根据具体的需求和效果来决定。

欢迎各位大神进行纠错指正,我们一起共同进步~~~

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

在 Spring Boot 中调用 AnythingLLM 的发消息接口

整体逻辑: 自建系统的web UI界面调用接口: 1.SpringBoot接口&#xff1a;/anything/chatMessageAnything 2.调用anythingLLM - 调用知识库deepseek r1 . Windows Installation ~ AnythingLLMhttps://docs.anythingllm.com/installation-desktop/windows http://localhost:3…

[GHCTF 2025]Popppppp[pop链构造] [php原生类的利用] [双md5加密绕过]

题目 <?php error_reporting(0);class CherryBlossom {public $fruit1;public $fruit2;public function __construct($a) {$this->fruit1 $a;}function __destruct() {echo $this->fruit1;}public function __toString() {$newFunc $this->fruit2;return $new…

Tr0ll2靶机详解

一、主机发现 arp-scan -l靶机ip&#xff1a;192.168.55.164 二、端口扫描、漏洞扫描、目录枚举、指纹识别 2.1端口扫描 nmap --min-rate 10000 -p- 192.168.55.164发现21端口的ftp服务开启 以UDP协议进行扫描 使用参数-sU进行UDP扫描 nmap -sU --min-rate 10000 -p- 19…

制造业数字化转型,汽车装备制造企业数字化转型案例,智能制造数字化传统制造业数字化制造业数字化转型案例

《某制造业企业信息化整体解决方案》PPT展示了一个汽车装备企业的整体信息化解决方案&#xff0c;阐述了该企业的业务特点和现状&#xff0c;主要包括按订单生产、多级计划和产品跟踪等&#xff0c;分析了信息化建设的主要困难&#xff0c;如信息管理手工化、过程数据追溯困难、…

科技云报到:AI Agent打了个响指,商业齿轮加速转动

科技云报到原创。 3月16日&#xff0c;百度旗下文心大模型4.5和文心大模型X1正式发布。目前&#xff0c;两款模型已在文心一言官网上线&#xff0c;免费向用户开放。 同时&#xff0c;文心大模型4.5已上线百度智能云千帆大模型平台&#xff0c;企业用户和开发者登录即可调用AP…

【蓝桥杯python研究生组备赛】005 数学与简单DP

题目1 01背包 有 N 件物品和一个容量是 V 的背包。每件物品只能使用一次。 第 i 件物品的体积是 vi&#xff0c;价值是 wi。 求解将哪些物品装入背包&#xff0c;可使这些物品的总体积不超过背包容量&#xff0c;且总价值最大。 输出最大价值。 输入格式 第一行两个整数&a…

大白话读懂java对象创建的过程

1. java对象创建流程&#xff08;大白话版&#xff09; 咱们java对象被创建的过程大致如下&#xff0c;即&#xff1a; 在 JVM 中对象的创建&#xff0c;从⼀个 new 指令开始&#xff1a; 首先检查这个指令的参数是否能在常量池中定位到⼀个类的符号引用检查这个符号引用代表…

AI图像理解技术的演进

在CLIP等现代多模态模型出现之前&#xff0c;早期的图生文技术主要依赖人工标注的ImageNet等数据集&#xff0c;但其技术路线与当前方法存在本质差异。 一、传统图生文技术的标注依赖 ImageNet的核心地位 在2012-2020年间&#xff0c;ImageNet的1,400万张人工标注图像&#xff…

电脑节电模式怎么退出 分享5种解决方法

在使用电脑的过程中&#xff0c;许多用户为了节省电力&#xff0c;通常会选择开启电脑的节能模式。然而&#xff0c;在需要更高性能或进行图形密集型任务时&#xff0c;节能模式可能会限制系统的性能表现。这时&#xff0c;了解如何正确地关闭或调整节能设置就显得尤为重要了。…

【Java】——程序逻辑控制(构建稳健代码的基石)

&#x1f381;个人主页&#xff1a;User_芊芊君子 &#x1f389;欢迎大家点赞&#x1f44d;评论&#x1f4dd;收藏⭐文章 &#x1f50d;系列专栏&#xff1a;【Java】内容概括 文章目录&#xff1a; 一.顺序结构二.分支结构1.if 语句1.1 语法格式11.2 语法格式21.3 语法格式3 …

卫星互联网智慧杆:开启智能城市新时代​

哇哦&#xff01;在当下这个数字化浪潮正以雷霆万钧之势席卷全球的超酷时代&#xff0c;智慧城市建设已然成为世界各国你追我赶、竞相发力的核心重点领域啦&#xff01;而咱们的卫星互联网智慧杆&#xff0c;作为一项完美融合了卫星通信与物联网顶尖技术的创新结晶&#xff0c;…

Qt-QChart实现折线图

一、介绍场景 动态查看数据变化&#xff0c;或者了解数据发展趋势&#xff0c;让数据可以形象直观展现出来&#xff0c;这里推荐使用折线图的方式展现&#xff0c;本文抛砖引玉&#xff0c;简单实现一个实例&#xff0c;效果图如下&#xff1a; 二、实现步骤 1、charts组件 …

取消Win10锁屏界面上显示的天气、市场和广告的操作

要取消Win10锁屏界面上显示的天气、市场和广告&#xff0c;您可以按照以下步骤操作&#xff1a; 方法一&#xff1a;更改锁屏界面设置 打开“设置”&#xff1a; 点击“开始”菜单&#xff0c;然后点击齿轮状的“设置”图标。 进入“个性化”&#xff1a; 在“设置”窗口中&a…

从TouchDriver Pro到Touchdriver G1,Weart触觉手套全系解析:XR交互的“真实触感”如何实现?

Weart旗下的Touchdriver Pro触觉手套和Touchdriver G1触觉手套&#xff0c;凭借其技术创新&#xff0c;为用户带来了全新的触觉体验。Touchdriver Pro触觉手套通过多模态触觉反馈技术&#xff0c;提供力反馈、纹理渲染和温度提示&#xff0c;让用户在虚拟环境中感受到真实的触觉…

排序算法实现:插入排序与希尔排序

目录 一、引言 二、代码整体结构 三、宏定义与头文件 四、插入排序函数&#xff08;Insertsort&#xff09; 函数作用 代码要点分析 五、希尔排序函数&#xff08;ShellSort&#xff09; 函数作用 代码要点分析 六、打印数组函数&#xff08;PrintSort&#x…

UDP协议原理

UDP协议原理 本篇介绍 在前面使用UDP编程时已经基本了解了UDP的工作模式&#xff0c;也知道了UDP有三个特点&#xff1a; 无连接不可靠面向数据报 但是当时并没有具体谈论为什么UDP有以上三个特点&#xff0c;基于这个原因&#xff0c;本篇就会针对这三个原因进行介绍 UDP…

EtherCAT转Modbus网关如何在倍福plc组态快速配置

EtherCAT转Modbus网关如何在倍福plc组态快速配置 在工业控制领域&#xff0c;EtherCAT和Modbus是两种常见的总线通信协议。EtherCAT以其高速的数据传输和灵活的网络配置被广泛应用于高性能自动化控制系统中&#xff0c;而Modbus则因其简单、稳定且兼容性强而被许多设备所支持。…

DooTask在Linux的离线部署教程

DooTask在Linux的离线部署教程 下载安装包 从网盘中将安装包下载到本地&#xff0c;下载地址 通过网盘分享的文件&#xff1a;DooTask项目管理工具 链接: https://pan.baidu.com/s/1hGmLXonT4c8hLiDP1QBr8w?pwdgdp6 提取码: gdp6 通过网盘分享的文件&#xff1a;DooTask项目…

Python实现WYY音乐下载

一、需求背景 WYY音乐作为国内主流音乐平台,其歌曲资源丰富但下载接口存在多重加密保护。本文将通过Python结合JS逆向技术,解析其核心加密逻辑,实现免费歌曲的下载功能。 二、技术难点分析 1. 接口加密机制 通过抓包分析可知,网易云核心接口使用两次加密: 第一次:获取…

Java基础面试题学习

转换成自已的语言来回答&#xff0c;来源小林coding、沉默王二以及其它资源和自已改编。 1、概念 1、说一下Java的特点 我认为Java有很多特点 首先是平台无关性&#xff1a;Java可以实现一次编译到处运行&#xff0c;因为Java的编译器将源代码编译成字节码&#xff0c;使得该…