当前位置: 首页 > news >正文

【CSS技巧系列】解决子容器滚动引发父容器滚动问题

背景描述

有些时候子容器和父容器都有滚动,子容器滚动到尽头的时候父容器会触发滚动,更有甚者有可能会触发谷歌浏览器的双指回退,那么你知道该怎么解决嘛?

解决方案

html,body{
    overscroll-behavior:none
}

案例演示

<html>

<head>
    <meta charset="utf-8">
    <meta name="viewport" content="width=device-width">
    <title>overscroll-behavior-x demo</title>
    <style>
        main {
            height: 500px;
            width: 3000px;
            background-color: magenta;
            background-image: repeating-linear-gradient(to right, rgba(0, 0, 0, 0) 0px, rgba(0, 0, 0, 0) 19px, rgba(0, 0, 0, 0.5) 20px);
        }

        main>div {
            height: 300px;
            width: 500px;
            overflow: auto;
            position: relative;
            top: 100px;
            left: 100px;
            /*核心代码*/
            overscroll-behavior-x: contain;
        }

        div>div {
            height: 100%;
            width: 1500px;
            background-color: yellow;
            background-image: repeating-linear-gradient(to right, rgba(0, 0, 0, 0) 0px, rgba(0, 0, 0, 0) 19px, rgba(0, 0, 0, 0.5) 20px);
        }

        p {
            padding: 10px;
            background-color: rgba(255, 0, 0, 0.5);
            margin: 0;
            width: 300px;
            position: relative;
            top: 10px;
            left: 10px;
        }
    </style>
</head>

<body>
    <h1>overscroll-behavior-x demo</h1>
    <main>
        <div>
            <div>
                <p><code>overscroll-behavior-x</code>已经被用来使它在滚动边界时到达内框时,整个页面不会开始滚动</p>
            </div>
        </div>
    </main>
</body>
</html>

试一下这个案例,当你在黄色区域横向滚动的时候,粉色长条区域不会随之滚动。然后请你把overscroll-behavior-x: contain;注释掉,然后在黄色区域滚动=>看看会有什么样的效果

参考文档

overscroll-behaviorMDN文档

相关文章:

  • 如何设置和解除PDF文件保护?
  • 树莓派i2c通讯 设置 和 查看 i2c通信地址方法
  • 【数据挖掘】Pandas介绍
  • 语音转文字软件哪个好?快来看看这几个软件
  • 想转行数字IC验证,需要提前了解哪些内容?
  • SignalR+FluentValidation实现mvc
  • 阿里大牛解析淘宝与Twitter 分布式系统案例与其架构设计原来源码
  • 融资租赁和经营租赁
  • 【JetPack Compose】列表和动画
  • 计基于安卓 Android 微信小程序的孕妇产后康复系统app
  • 钉钉扫码登陆第三方网站
  • Python 自动化测试(三): pytest 参数化测试用例构建
  • Java通过Zxing生成和解析二维码
  • 如何在手机浏览器中打开安卓APP
  • Postgresql 解决pg掉电后无法重启的问题
  • 【5+】跨webview多页面 触发事件(二)
  • 【React系列】如何构建React应用程序
  • 【笔记】你不知道的JS读书笔记——Promise
  • 4个实用的微服务测试策略
  • 4月23日世界读书日 网络营销论坛推荐《正在爆发的营销革命》
  • Linux CTF 逆向入门
  • MySQL主从复制读写分离及奇怪的问题
  • October CMS - 快速入门 9 Images And Galleries
  • Redis 中的布隆过滤器
  • Spring Cloud Feign的两种使用姿势
  • Spring框架之我见(三)——IOC、AOP
  • 不上全站https的网站你们就等着被恶心死吧
  • 基于OpenResty的Lua Web框架lor0.0.2预览版发布
  • 入门到放弃node系列之Hello Word篇
  • 使用阿里云发布分布式网站,开发时候应该注意什么?
  • 算法-图和图算法
  • 新海诚画集[秒速5センチメートル:樱花抄·春]
  • ​草莓熊python turtle绘图代码(玫瑰花版)附源代码
  • #1014 : Trie树
  • (+4)2.2UML建模图
  • (007)XHTML文档之标题——h1~h6
  • (HAL)STM32F103C6T8——软件模拟I2C驱动0.96寸OLED屏幕
  • (pojstep1.1.2)2654(直叙式模拟)
  • (ZT)一个美国文科博士的YardLife
  • (备忘)Java Map 遍历
  • (大众金融)SQL server面试题(1)-总销售量最少的3个型号的车及其总销售量
  • (翻译)terry crowley: 写给程序员
  • (附源码)ssm基于微信小程序的疫苗管理系统 毕业设计 092354
  • (免费领源码)python#django#mysql校园校园宿舍管理系统84831-计算机毕业设计项目选题推荐
  • (七)理解angular中的module和injector,即依赖注入
  • (十七)Flask之大型项目目录结构示例【二扣蓝图】
  • (一) springboot详细介绍
  • (原創) 系統分析和系統設計有什麼差別? (OO)
  • .net core IResultFilter 的 OnResultExecuted和OnResultExecuting的区别
  • .Net Core缓存组件(MemoryCache)源码解析
  • .NET 中各种混淆(Obfuscation)的含义、原理、实际效果和不同级别的差异(使用 SmartAssembly)
  • .Net 转战 Android 4.4 日常笔记(4)--按钮事件和国际化
  • .NET企业级应用架构设计系列之结尾篇
  • @KafkaListener注解详解(一)| 常用参数详解
  • []指针