之前做移动端项目的时候,同事推荐使用-webkit-overflow-scrolling:touch;
属性,当时只是知道在元素内容有滚动条的时候使用这个属性,可以使滚动比较流畅。
然后在MDN上查了一下:
-webkit-overflow-scrolling
属性是来控制元素在移动设备上是否有回弹的效果。
它有两个属性值:
-
auto
:使用普通滚动,当手指在屏幕上离开时,滚动立即停止
-touch
:使用具有回弹效果的滚动, 当手指从触摸屏上移开,内容会继续保持一段时间的滚动效果。继续滚动的速度和持续的时间和滚动手势的强烈程度成正比。同时也会创建一个新的堆栈上下文。
兼容性写法:
verflow:auto;/* winphone8和android4+ */
-webkit-overflow-scrolling: touch; /* ios5+ */
bug
当你给一个元素设置过position:absolute;或者position:relative;后再增加-webkit-overflow-scrolling: touch;属性后,你会发现,滑动几次后可滚动区域会卡主,不能在滑动,这时给元素增加个z-index值就可以了。
-webkit-overflow-scrolling: touch;
position:absolute;
z-index:1;