移动端页面在IOS里滑动不顺畅解决办法

针对iOS系统中使用overflow-y:scroll属性导致的滚动不流畅问题,介绍了一个简单有效的解决方案:使用-webkit-overflow-scrolling:touch属性,实现类似原生的滚动回弹效果,提升用户体验。同时,文章也提到了该方法的注意事项及解决动态添加内容等问题的技巧。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

开发移动端的同学可能都知道,当在你用 overflow-y:scroll 属性的时候,内容超出容器溢出滚动的效果很迟顿,特别是在IOS系统里,通常情况下,我们为了追求好的用户体验,会使用屏幕滚动插件better-scroll了,这个插件是真心好用,但是有些情况下我们可能并不想那么麻烦,而且页面的体验要求也没有那么高,下面给大家介绍一个简单偷懒的办法。

这时候可以使用 -webkit-overflow-scrolling:touch 这个属性,让滚动条产生滚动回弹的效果,就像IOS原生的滚动条一样流畅。

简单说明一下:

1. -webkit-overflow-scrolling:控制元素在移动设备上是否使用滚动回弹效果;

2. auto:使用普通滚动, 当手指从触摸屏上移开,滚动会立即停止;

3. touch:使用具有回弹效果的滚动, 当手指从触摸屏上移开,内容会继续保持一段时间的滚动效果,继续滚动的速度和持续的时间和滚动手势的强烈程度成正比;

需要注意的事项:

1. 通过动态添加内容撑开容器,结果根本不能滑动;

2. 在safari上,点击其他区域,再在滚动区域滑动,滚动条无法滚动;

3. 在safari上,使用了 -webkit-overflow-scrolling:touch 之后,页面偶尔会卡住不动;

解决问题的方法:

1. 第一步,将使用 -webkit-overflow-scrolling 的元素的定位取消或手动改成 position:static;

2. 第二步,将使用 -webkit-overflow-scrolling 的元素添加一个子元素,设置子元素的高度为height:101%,或者为了精确一些写成height:calc(100vh +1px),注意这个加号前后都要有空格;

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

艾光远

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值