如何阻止固定元素阻止滚动页面?

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了如何阻止固定元素阻止滚动页面?相关的知识,希望对你有一定的参考价值。

我有一个带有半透明侧边栏的页面,其中position: fixed;覆盖了页面的其余部分。该页面有一个滚动条,但当光标位于侧边栏上方时,滚轮将无法工作。

当我查找这个问题时,我遇到了一些例子,它似乎没有额外的努力,就像在这个例子中:https://www.w3schools.com/cssref/tryit.asp?filename=trycss_position2。但我无法找到为什么它在我的情况下不起作用。

这是我的代码:

https://jsfiddle.net/c90zo62s/4/(因为stackoverflow一直拒绝这个片段,所以它成了一个小提琴,而在预览中它完全没问题)

因此,当盘旋黄色区域时,我仍然希望Lorem ipsum位滚动,但事实并非如此。

PS:我不想使用pointer-events: none;,因为它有太多在这种情况下不需要的副作用

答案

我终于找到了解决办法。滚动内容在overflow: auto;的div中。这个div实际上覆盖了整个屏幕,因此在固定的侧边栏后面。我现在删除了这个div并使<body>成为滚动的元素。显然这就是全部。但是我仍然不完全理解为什么底层div不能滚动通过固定元素,而身体可以......

以上是关于如何阻止固定元素阻止滚动页面?的主要内容,如果未能解决你的问题,请参考以下文章

scroll时怎么阻止body页面的滚动

锁定正文滚动,阻止目标元素滚动

阻止嵌套div上滚动条的相互影响

如何在arcGIS上恢复默认滚动行为?

embed标签 阻止点击事件 让父元素处理点击事件

我页面周围的边框正在阻止元素悬停工作[重复]