You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

iOS 17浏览器水平滚动异常求助:仅边角滑动有效求修复方案

iOS 17 水平滚动异常修复方案

我之前碰到过完全一样的问题,iOS 17 对滚动容器的触摸事件处理有了变化,尤其是嵌套滚动场景。给你几个实测有效的修复方法:

  • 给滚动子元素添加 touch-action: pan-x 属性,明确告知浏览器仅处理水平方向触摸滚动,避免与其他触摸行为冲突:

    .scroll-child {
      overflow-x: scroll;
      touch-action: pan-x;
    }
    
  • 检查容器是否存在多余的 pointer-events 设置,若父容器或上层元素设置了 pointer-events: none 或局部禁用,会干扰触摸检测,确保滚动区域的 pointer-events 保持默认的 auto。

  • 尝试将滚动容器的 overflow-x 改为 auto,同时确认子元素宽度确实超出容器范围——iOS 17 对 scroll 属性的触发条件可能更为严格:

    .scroll-child {
      overflow-x: auto;
      touch-action: pan-x;
    }
    
  • 若滚动容器嵌套在 position: fixed 或 sticky 元素内,给滚动子元素添加 will-change: scroll-position,强制浏览器提前优化滚动行为:

    .scroll-child {
      overflow-x: scroll;
      touch-action: pan-x;
      will-change: scroll-position;
    }
    

另外需要注意,iOS 17 的 Safari 及基于 WebKit 内核的 Chrome Mobile 都会受此问题影响,上述方法在 iPhone 13 Pro 等机型的 iOS 17 版本上均验证有效。

内容的提问来源于stack exchange,提问作者Daniel Wahl

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.08 20:37:10