滚动穿透
问题描述:
在移动端开发模态框时(小程序也会出现),当模态框下的页面超过一屏时,在fixed定位的弹窗遮罩层上进行滑动,它下面的内容也会跟着一起滑动,看起来好像事件穿透到了下面的DOM元素一样,我们类比点击穿透,姑且称他为滚动穿透。
解决方案(touch-action)
默认情况下,平移(滚动)和缩放手势由浏览器专门处理,但是可以通过 CSS 特性 touch-action 来改变触摸手势的行为。摘取几个 touch-action 的值如下。
于是在 popup 元素上设置该属性,禁用元素(及其不可滚动的后代)上的所有手势就可以解决该问题了。
.pendingesse {//弹出层最外侧的view
display: flex;
flex-direction: column;
justify-content: space-between;
align-items: center;
padding: 50rpx 50rpx 50rpx;
touch-action: none;
}