完美解决H5滚动滑动穿透方案:不使用系统滚动

网上有不少黑科技解决这个问题,都不是从根本去解决,例如经过js控制弹出时html加上position:fixed; 弹窗关闭后再去掉该样式,总以为不太对,像是打补丁。css

今天终于找到了滚动穿透的缘由和完美解决的办法html

缘由:使用系统的滚动,html和body的高度超出窗口的高度,自动使用系统滚动,这个滚动会致使滚动穿透。web

完美解决方案: 1.在body下的div上使用本身的height:100%; overflow: auto/scoll;(在IOS上不流畅须要加 -webkit-overflow-scrolling: touch;)htm

                      2.给html,body 增长{posation:fixed;with100%;height:100%; } 使html,body不会再使用系统滚动;开发

           3.发如今安卓手机上完美实现,可是IOS的滚动机制让令人头大,依然能够穿透,这时咱们在弹窗后须要把滚动的div上加上 overflow:hidden;it

           在关闭弹窗的时候去掉该属性,能够实现IOS的兼容;至此滚动穿透就被解决了。io

 

感触:H5开发时有些系统默认功能总会带来一些未知的坑,功能老是不尽如人意,尽可能本身多写一写css使样式控制在本身的计划内。webkit

相关文章
相关标签/搜索