4种防止模态框弹出时页面滚动的方法

news2024/9/27 23:28:22

1. Overflow:hidden — 经典方法

overflow:hidden CSS 属性是一种久经考验的防止滚动的方法。只需将一个类(例如,no-scroll)添加到 <body> 标签,并将其链接到带有 overflow:hidden 的 CSS 规则。

.no-scroll {
  overflow: hidden;
}

当模态框弹出时,使用 JavaScript 添加此类,并在模态框关闭时将其删除。此方法会停止滚动并隐藏滚动条。

2. Position: Fixed — 修复程序

想要在模态框弹出时保持页面原位?position: fixed 可以提供帮助!

向<body> 添加 no-scroll 之类的类并应用以下 CSS:

.no-scroll {
  position: fixed;
  width: 100%;
}

这会将页面锚定到视口,保持其原始宽度。请记住确保您的模态框具有适当的高度,否则内容可能会被截断。

3. 滚动事件 — JavaScript 大师

对于更注重 JavaScript 的方法,我们可以使用滚动事件在模态框出现时禁用滚动。

document.addEventListener('scroll', disableScroll);
function disableScroll() {
  window.scrollTo(0, 0);
}

当模式关闭时,删除事件监听器以重新启用滚动。此方法不需要更改 CSS,并且在桌面和移动设备上都能很好地工作。

4. Overscroll-Behavior:Contain — 现代选择

准备好采用更现代的方法了吗?overscroll-behavior 属性可以控制页面边缘的滚动行为。

.popup {
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  overscroll-behavior: contain;
}

通过将其设置为包含,可以阻止页面滚动,但允许在模式本身内滚动。请记住在模式关闭时删除此属性。

总结,请选择合适的方法

这 4 种方法都提供了在模式弹出时,阻止页面滚动的不同方法。再具体项目开发时,我们需要选择适合自己项目的情况,来匹配项目的需要,不能随意选择。

关于优联前端

        武汉优联前端科技有限公司由一批从事前端10余年的专业人才创办,是一家致力于H5前端技术研究的科技创新型公司,为合作伙伴提供专业高效的前端解决方案,合作伙伴遍布中国及东南亚地区,行业涵盖广告,教育, 医疗,餐饮等。有效的解决了合作伙伴的前端技术难题,节约了成本,实现合作共赢。承接Web前端,微信小程序、小游戏,2D/3D游戏,动画交互与UI广告设计等各种技术研发。

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

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

相关文章

地表最强?免费!AI画图模型:Stable Diffusion 3 来了!

前言 Stability AI终于推出了备受期待的Stable Diffusion 3 API。经过几个月技术报告的酝酿&#xff0c;现在用户终于可以实际体验这个模型啦。 虽然完全开源的SD3模型仍在开发中&#xff0c;Stability AI已承诺对普通用户免费开放。用户现在可以通过Fireworks AI平台访问SD3 …

电脑出现错误vcomp140.dll是什么情况?vcomp140.dll丢失怎样修复?

很多小伙伴在使用电脑时会突然收到提示vcomp140.dll文件丢失导致应用程序无法打开&#xff0c;不能正常运行。这是怎么一回事呢&#xff1f;其实就是vcomp140.dll文件被破会坏导致文件被丢失。具体的解决办法其实很简单一起来看看吧。 关于vcomp140.dll文件丢失的详细分析 在计…

我在高职教STM32——EXTI之外部按键中断(2)

大家好,我是老耿,高职青椒一枚,一直从事单片机、嵌入式、物联网等课程的教学。对于高职的学生层次,同行应该都懂的,老师在课堂上教学几乎是没什么成就感的。正是如此,才有了借助CSDN平台寻求认同感和成就感的想法。在这里,我准备陆续把自己花了很多心思设计的教学课件分…

小顶堆实现查找前 K 个高频元素

小顶堆&#xff08;Min-Heap&#xff09;通常用于实现优先队列。在小顶堆中&#xff0c;根节点的值是最小的&#xff0c;因此通过从堆中移除根节点&#xff0c;你可以高效地获取当前优先级最高&#xff08;即值最小&#xff09;的元素。 优先队列的特点&#xff1a; 允许高效…

2024年【化工自动化控制仪表】考试及化工自动化控制仪表考试内容

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 化工自动化控制仪表考试参考答案及化工自动化控制仪表考试试题解析是安全生产模拟考试一点通题库老师及化工自动化控制仪表操作证已考过的学员汇总&#xff0c;相对有效帮助化工自动化控制仪表考试内容学员顺利通过考…

Struts2框架漏洞(附漏洞修复方法)

Apache Struts 2 最初被称为 WebWork 2&#xff0c;它是一个简洁的、可扩展的框架&#xff0c;可用于创建企业级Java web应用程序。设计这个框架是为了从构建、部署、到应用程序维护方面来简化整个开发周期。 Struts 2在2007年7月23日发布的第一个Struts 2漏洞S2-001。 …

dbeaver设置字体大小

1、【窗口】-【首选项】 2、【外观】-【颜色-字体】-【Dbeaver Fonts】-【Monospace font】 双击或者右边编辑都可以打开设置

【Linux】—— 僵尸进程、孤儿进程

&#x1f30f;博客主页&#xff1a;PH_modest的博客主页 &#x1f6a9;当前专栏&#xff1a;Linux跬步积累 &#x1f48c;其他专栏&#xff1a; &#x1f534; 每日一题 &#x1f7e1; C跬步积累 &#x1f7e2; C语言跬步积累 &#x1f308;座右铭&#xff1a;广积粮&#xff0…

计网学习(一)——计算机网络概述

一、计算机网络概述 Internet翻译&#xff1a;因特网&#xff08;未得到普及&#xff09;>互联网互联网基本特点&#xff1a;连通性和资源共享计算机网络&#xff1a;有若干结点和连接这些节点的链路组成网络把许多计算机连接在一起&#xff0c;而互连网则把许多网络通过路…

数学建模--智能算法之免疫算法

目录 基本原理 应用实例 代码示例 总结 免疫算法在免疫系统研究中的应用和进展是什么&#xff1f; 如何量化评估免疫算法在不同优化问题中的性能和效率&#xff1f; 免疫算法与其他智能优化算法&#xff08;如遗传算法、粒子群优化&#xff09;相比有哪些独特优势和局限性…

“tcp控制协议”的理解

情景解释&#xff1a; 1.过程&#xff1a; 在用户进行网络间通信时&#xff0c;不管是客户端还是服务端&#xff0c;都会有两个缓冲区——发送缓冲区和接受缓冲区。 通过4个缓冲区进行数据交流。 用户通过write()将数据发送到他的发送缓冲区中&#xff0c;再传输到服务端的…

遥感类SCI推荐合集,潜力大+易投,版面有限!

关注GZH【欧亚科睿学术】&#xff0c;第一时间了解期刊最新动态&#xff01; &#x1f525; &#x1f525; &#x1f525; &#x1f525; 遥感类SCI期刊合集 1. 农林科学类&#xff08;中科院1区TOP&#xff0c;领域高权威&#xff09; 【期刊简介】IF&#xff1a;4.0-5.0&am…

Linux源码阅读笔记18-插入模型及删除模块操作

基础知识 模块是一种向Linux内核添加设备驱动程序、文件系统及其他组件的有效方法&#xff0c;不需要编译新内核 优点 通过使用模块&#xff0c;内核发布者能够预先编译大量驱动程序&#xff0c;而不会致使内核映像的尺寸发生膨胀。内核开发者可以将实验性的代码打包到模块中&a…

达梦数据库的系统视图v$large_mem_sqls

达梦数据库的系统视图v$large_mem_sqls 达梦数据库的V$LARGE_MEM_SQLS视图提供了最近1000条使用大内存的SQL语句信息。一条SQL语句如果使用的内存值超过ini参数LARGE_MEM_THRESHOLD&#xff0c;就认为使用了大内存。这个视图帮助用户监控和分析哪些SQL语句在执行时占用了大量内…

【python】Python中位运算算法详细解析与应用实战

✨✨ 欢迎大家来到景天科技苑✨✨ &#x1f388;&#x1f388; 养成好习惯&#xff0c;先赞后看哦~&#x1f388;&#x1f388; &#x1f3c6; 作者简介&#xff1a;景天科技苑 &#x1f3c6;《头衔》&#xff1a;大厂架构师&#xff0c;华为云开发者社区专家博主&#xff0c;…

torch量化接口深度解读-eager模式-fx模式

一、定义 接口总结量化模式解读 二、实现 接口总结 1. PyTorch提供了三种不同的量化模式&#xff1a;Eager模式量化、FX图模式量化&#xff08;维护&#xff09;和PyTorch 2导出量化。 2. Eager Mode Quantization是一个测试版功能。用户需要进行融合&#xff0c;并手动指定量…

2024年AWS云服务器选择哪个区域最好?

在选择2024年AWS云服务器区域时&#xff0c;您需要根据您的业务需求、目标用户群体的位置、数据合规性要求、延迟需求以及成本预算等因素综合考虑。以下是九河云针对不同需求的建议&#xff1a; 北美区域 优势&#xff1a;北美区域&#xff0c;尤其是弗吉尼亚北部&#xff0c…

工业和信息化部明确四方面举措优化信息通信行业营商环境

根据工业和信息化部6日发布的消息&#xff0c;该部门已正式下发《关于创新信息通信行业管理 优化营商环境的意见》。 此意见旨在通过四项主要措施优化行业管理制度和手段&#xff0c;以促进信息通信行业的高质量发展。 这些措施包括&#xff1a;持续改进高效、开放、统一的准…

vue项目部署在子路径中前端配置

vue.config.JS router/index.js或者是man.js

Docker-数据卷指令

数据卷挂载修改内容