场景再现:上次说了ajax重复提交的问题,说一个移动端玄之又玄的bug,页面上下拖动的时候ios回弹效果(我喜欢叫它橡皮筋效果),因为影响用户体验,所以如何阻止这个效果,听我慢慢到来。
  一. 从未见过的-webkit-overflow-scrolling属性
  在思考如何解决这个橡皮筋bug的时候,我偶然读到mui的css源码,发现其中有这么一段
body{
font-family:'Microsoft YaHei', Helvetica, sans-serif;
/* line-height: 21px; */
color:#000;
background-color:#efefef;
-webkit-overflow-scrolling: touch;/*是它*/
}
  又是overflow又是scrolling的,难不成这东西影响滚动效果,查看MDN得到如下答案
  -webkit-overflow-scrolling 属性控制元素在移动设备上是否使用滚动回弹效果 —— MDN
  取值:
  **auto**:使用普通滚动, 当手指从触摸屏上移开,滚动会立即停止。
  **touch**:使用具有回弹效果的滚动, 当手指从触摸屏上移开,内容会继续保持一段时间的滚动效果。继续滚动的速度和持续的时间和滚动手势的强烈程度成正比。同时也会创建一个新的堆栈上下文。
  栗子:
  -webkit-overflow-scrolling:touch;/* 当手指从触摸屏上移开,会保持一段时间的滚动 */
  -webkit-overflow-scrolling:auto;/* 当手指从触摸屏上移开,滚动会立即停止 */
  浏览器兼容性: 移动版 Safari iOS 5.0+(是你没跑了)
  二. 解决方法
  大致实现思路是
  页面结构
<header>头部固定<header>
<divid="wrapper">
<ul>
<li>1</li>
<li>2</li>
<li>3</li>
<li>4</li>
<li>5</li>
</ul>
</div>
<footer>底部固定<footer>
  样式
html{
font-size:62.5%;
font-family: sans-serif;
-webkit-text-size-adjust:;
height:;
overflow-y:hidden;
}
body{
margin:0;
max-height:;
overflow-y:hidden;
}
#wrapper{
height:;
width:;
overflow-y:scroll;
-webkit-overflow-scrolling:touch;
position:fixed;
}