提问人:benmneb 提问时间:10/24/2020 最后编辑:benmneb 更新时间:10/28/2020 访问量:1502
当目标元素未溢出时,CSS 'overscroll-behavior: contain'
CSS `overscroll-behavior: contain` when target element doesn't overflow
问:
我正在寻找一种CSS解决方案来实现目标元素没有溢出时的确切行为。"overscroll-behavior: contain"
我有一个带有弹出式侧边栏/菜单的页面,在移动设备上,它占用 100vw 和 100vh(减去底部导航栏)并且不会溢出(没有足够的内容需要滚动条)。目前,当此侧边栏在移动设备上打开时,如果用户尝试滚动它,后台的主页会滚动,在此应用程序中,由于延迟加载/无限滚动,可能会导致不需要的数据库调用。
在 demo.js 的第 55 行,我已将属性添加到 JSS 中,但如您所见,它不包含滚动链,除非您缩小浏览器的垂直高度以强制侧边栏的内容首先溢出。(在 Chrome 上,似乎在 codesandbox 编辑器中具有预期的行为,但在自己的窗口中弹出时则没有。overscrollBehavior: "contain"
overscrollBehavior
当然,有一种CSS解决方案可以在元素不必首先可滚动的情况下获得这种行为?
有趣的是,至少在Firefox上,如果您缩小垂直高度以强制滚动侧边栏,一旦您将浏览器大小调整回正常状态,该属性将继续包含滚动链,直到您刷新页面,这是我正在寻找的行为,尽管显然在初始页面加载时。overscroll-behavior
这是一个简单的代码笔,显示了溢出和不溢出的元素的差异,如果还不清楚的话。我还在 2018 年的 CSS Tricks 论坛上发现了另一篇帖子,有人询问这种行为,但没有解决方案。overscroll-behavior
答: 暂无答案
评论
overscroll-behavior: contain