使用-webkit-overflow-scrolling属性造成在safiri上出现不能滑动的bug
-webkit-overflow-scrolling属性:
参考MDN:
-webkit-overflow-scrolling 属性控制元素在移动设备上是否使用滚动回弹效果。
值:
auto
使用普通滚动, 当手指从触摸屏上移开,滚动会立即停止。
touch
使用具有回弹效果的滚动, 当手指从触摸屏上移开,内容会继续保持一段时间的滚动效果。继续滚动的速度和持续的时间和滚动手势的强烈程度成正比。同时也会创建一个新的堆栈上下文。
具体问题
<div>
<ul>
<li>content1</li>
<li>content2</li>
<li>content3</li>
<li>content4</li>
<li>content5</li>
</ul>
</div>
css
div {
overflow-x: scroll;
-webkit-overflow-scrolling: touch;
overflow-y: hidden;
}
ul {
padding: 15px 25px;
box-sizing: border-box;
display: inline-flex;
}
ul li{
width: 120px;
height: 126.5px;
flex-shrink: 0;
margin-right: 10px;
}
bug:在iphoneX和iphoneXR上出现不能滑动的情况。
尝试方案
ul {
width: 900px;
height: 130px;
padding: 15px 25px;
box-sizing: border-box;
display: inline-flex;
}
此时ul元素的宽大于容器宽,但是依旧无法滑动。