Position fixed Inner content list 滚动卡顿

在做项目的过程中,总是会遇到要实现一个弹出视图,多数需求都是在弹出视图中添加一个滚动列表,使弹出视图撑满整个屏幕,并固定在屏幕上方,一般都会想到使用position: fixed 将top, left, right ,bottom 都设置为0,这样就能撑满整个屏幕,在当前窗口弹出一个固定位置的视图大小,示例如下代码

html, body {
  margin: 0 auto;
}

.model-fixed-view {
  position: fixed;
  top: 0;
  bottom: 0;
  left: 0;
  right: 0;
  margin: 30px;
}

现在.model-fixed-view这个视图已经固定在屏幕上方距离边界30px的位置,那接下来需要在上面加载一个列表,并能滚动例如。

scroll-text.png

在html中一般只要内部视图超出屏幕高度,就会自动滚动加载。如下设置一个视图高度很高的样式,来模拟滚动的操作。

.content {
  background-color: blue;
  height: 2000px;
}

样式展示

<div class="model-fixed-view">
  <div class="content">ddd</div>
</div>

但是这样写之后会发现一个问题,内部视图虽然已将远远超出父视图的高度,但是内部视图不能滚动加载,即使能滚动加载,在手机上滑动滚动的时候依然很少卡顿,在试了各种办法之后,依然效果不好,网上搜集资料找到了如下解决办法。

解决fixed content滑动卡顿,不滑动的问题

找了一些办法,只要在设置fixed父视图中添加如下的样式,就可以解决滑动卡顿,滑动不流畅的问题

.model-fixed-view {
  overflow-y: scroll;
  -webkit-overflow-scrolling: touch;
}

参考链接:
https://css-tricks.com/forums/topic/prevent-body-scrolling-when-the-user-scrolls-on-fixed-position-div/

©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 问答题47 /72 常见浏览器兼容性问题与解决方案? 参考答案 (1)浏览器兼容问题一:不同浏览器的标签默认的外补...
    _Yfling阅读 14,706评论 1 92
  • 发现 关注 消息 iOS 第三方库、插件、知名博客总结 作者大灰狼的小绵羊哥哥关注 2017.06.26 09:4...
    肇东周阅读 14,782评论 4 61
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 176,900评论 25 709
  • 发表日期:2017-01-11 ​作为品牌博客的经营者,他们花费多长时间写一篇文章?他们的文章有多少字?多久更新一...
    chenyi330阅读 3,142评论 0 0
  • 就像发现任何好的东西一样,有时候源于随意,有时候源于缘分。遇到了,喜欢了,就这么简单。 “简书”的风格很独特,使用...
    何必阅读 1,580评论 0 1

友情链接更多精彩内容