首页 > 解决方案 > MobileSafari 中的平滑滚动捕捉类型?

问题描述

这看起来很简单,但是我在 iOS Safari 上遇到了 scroll-snap-type 和 scroll-snap-align 的问题,为了让 scroll-snap 真正起作用,你必须进行“完全”滑动,或者在至少大部分屏幕,而不是任何滚动或滑动。进行“小”滑动会将屏幕跳回到当前视口中的部分顶部。向上滚动本身就是一团糟,滚动似乎会在上一节内容的开头中途停止。

这会导致一般的错误和不连贯的滚动以及其他不一致,我想知道我是否做错了什么,或者是否有人能够提供我缺少的解决方案。

相关代码:

.scroll-container {
      height: 100vh;
      overflow-y: scroll;
      scroll-snap-type: y mandatory;
    }
    
section {
      height: 100vh;
      scroll-snap-align: start;
      background-color: black;
      padding-top: 10%;
    }

我基本上已经尝试了我能想到的一切;各种滚动捕捉停止选项、接近度等;几乎所有可能的选项变体,删除填充;似乎没有一个可以顺利滚动到下一部分。

在这一点上我很迷茫。当然,桌面体验很流畅,完全符合预期。如果有 javascript 或 jquery 替代方案,那对我有用。

谢谢!

标签: htmlcssmobile-safari

解决方案


推荐阅读