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

为什么移动端overflow属性工作异常?触摸滑动失效鼠标键盘滚动正常

可能的原因及对应解决方案

  • 缺少触摸滚动硬件加速属性:老版本iOS Safari等移动端浏览器默认不会给overflow:auto的元素启用触摸惯性滚动,需要手动添加属性触发。
    修复方案:给.drive-dashboard添加-webkit-overflow-scrolling: touch,修改后的CSS如下:
    .drive-dashboard {
       height: 100%;
       width: 100%;
       position: absolute;
       overflow: auto;
       -webkit-overflow-scrolling: touch;
    }
    
  • touch-action属性限制:如果项目有全局样式设置了touch-action: none或者touch-action: manipulation,会直接禁止默认的触摸滚动行为。
    修复方案:给滚动容器显式指定允许滚动的方向:
    .drive-dashboard {
       /* 其余原有属性不变 */
       touch-action: pan-y; /* 仅需垂直滚动用pan-y,需水平滚动额外加pan-x即可 */
    }
    
  • 全局触摸事件拦截:检查代码中有没有全局绑定的touchstart、touchmove事件,且回调中调用了e.preventDefault(),该逻辑会直接阻止浏览器默认的滚动行为。
    修复方案:移除不必要的全局触摸事件阻止逻辑,或者在事件回调中增加判断,仅当事件触发元素不是滚动容器时再执行preventDefault。
  • 子元素尺寸判定问题:确认#dashboardContainer的实际高度明确大于父容器.drive-dashboard的高度,部分触摸设备对空滚动的判定阈值比鼠标更高,没有明确溢出的情况下不会触发滚动逻辑。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.09.24 15:24:02