完美解決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

相關文章
相關標籤/搜索