详解iOS中position:fixed吸底时的滑动出现抖动的解决方案
两种抖动
为什么抖动还会有两种?
其实是我碰到过两种抖动的场景,第一个场景是native的抖动,第二个场景是h5的抖动。
native的抖动
前端开发人员会在app中打开webview,这个时候iOS中position:fixed吸底时的滑动出现抖动应该是native造成的抖动,整个viewport跟着动,所以可以在生成schema的时候将参数bounce_disable(可能不一定都有这个参数,就看有没有类似的参数进行控制)设置为1禁止native的弹性效果,然后加上h5的这个效果,-webkit-overflow-scrolling 属性可以帮我们实现这个效果,它控制元素在移动设备上是否使用滚动回弹效果。
h5的抖动
方案一
//我是吸顶头部 .header{ width:100%; height:50px; position:fixed; top:0px; } //我是中间要滑动的部分 .main{ width:100%; height:auto; position:absolute; padding-top:50px; padding-bottom:50px; box-sizing:border-box; overflow-y:scroll; } //我是吸底尾部 .footer{ width:100%; height:50px; position:fixed; bottom:0px; }
解释:滑动部分overflow-y:scroll;所以在上下方向超出一屏的部分会变成滚动模式并且不溢出,然后这边吸顶和吸底设置的高度都是50,所以对应的中间滑动部分分别有padding-top:50px;和padding-bottom:50px;设置box-sizing:border-box;所以padding的增加不会增加.main的高度。
方案二
transform: translateZ(0); -webkit-transform: translateZ(0);
解释:在使用position:fixed的元素上加上该属性。
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。
相关文章
IOS中MMDrawerController第三方抽屉效果的基本使用示例
这篇文章主要介绍了IOS中MMDrawerController第三方抽屉效果的基本使用示例,具有一定的参考价值,感兴趣的小伙伴们可以参考一下。2017-02-02IOS 七种手势操作(拖动、捏合、旋转、点按、长按、轻扫、自定义)详解及实例代码
这篇文章主要介绍了IOS 七种手势操作(拖动、捏合、旋转、点按、长按、轻扫、自定义)详解及实例代码的相关资料,需要的朋友可以参考下2016-12-12iOS bounds学习笔记以及仿写UIScrollView部分功能详解
这篇文章主要为大家详细介绍了iOS bounds学习笔记,以及仿写UIScrollView部分功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下2019-05-05
最新评论