页面滚动穿透问题分析与解决
日常 web 开发中,我们经常遇到想要滚动某元素,但却导致了其他元素发生了滚动的问题。
比如我们某元素使用了浮层,当浮层无法滑动时,我们尝试滑动浮层,会发现浮层下的元素(通常来说是页面)发生了滚动,这就是滚动穿透。
而元素滚动到底时,再尝试滚动会导致元素的可滚动父级开始滚动,这就是滚动链(Scroll Chaining)。
换个说法来说规范可能更好理解一些,规范不是用户手册,它只会规定了你要有哪些特性以及如何实现这些特性,但它不会规定你不要实现某些特性。而各大浏览器厂商不约而同的选择了这样的模式:当尝试滚动目标元素时,如果元素不能滚动,那就去尝试让它的父级元素进行滚动,哪个能滚滚哪个。
这篇文章分析了这个问题,并给出了解决方案:
https://blog.osvlabs.com/?p=246
版权属于:Joyber
本文链接:https://blog.qqvbc.com/default/1134.html
转载时须注明出处及本声明