bootsrtap h5 移動版頁面 在蘋果手機ios滑動上下拉動滾動卡頓問題解決方法


bootsrtap h5 移動版頁面 在蘋果手機ios滑動上下拉動滾動卡頓問題解決方法

bootsrtap框架做的h5頁面,在android手機下沒有卡頓問題,在蘋果手機就一直存在這問題,開始毫無頭緒,經過多次測試,更換版本,查找bootsrtap官方案例網站最終確定不是

bootsrtap框架本身的問題,然后排除網頁結果問題,布局問題,js問題,樣式問題,內容長度問題,所以當時想到的地方都改過測試了也沒有解決。

最后只能認為的蘋果手機ios的兼容性問題了,按照蘋果手機 ios 拉動 卡頓 觸屏 去搜索還真搜索到了很多相關問題,很多人遇到ios卡頓問題,但把網上所有方法都試了一遍也還是沒有解決。在准備放棄的時候突然調試成功了,成功代碼如下:

html, body {
    font-family: "Microsoft Yahei","Microsoft JhengHei", arial, Verdana;
    font-size: 14px;
    height: 100%;
    width:100%;
    position: relative;
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch; 
}
.wrapper {
    min-height: 100%;
    height: auto !important;
    height: 100%;
    width:100%;
}

.container {
    position : relative; 
    padding-left:0px;
    padding-right:0px;
    width:100%;
}
<body>
    <div class="wrapper">
        <div class="container" id="container">
            <div class="row">

========================

下面是找到的相關資料

========================

在容器里設置或者html,body{-webkit-overflow-scrolling: touch;}
不知道是不是chrome模擬器不支持這個屬性,模擬器上還是沒解決那問題,看蘋果開發文檔應該iOS 5.0 以上版本是支持

實現滾動條絲滑滾動,流暢不卡頓,有回彈效果。-webkit-overflow-scrolling
實現橫划的滾動列表,手指離開屏幕 滑動停止,而且明顯有點卡頓感,那么怎么解決這個問題?

解決方式:給父類加-webkit-overflow-scrolling;touch 屬性
解析:-webkit-overflow-scrolling;touch 屬性控制元素在移動設備上是否使用滾動回彈效果

https://developer.mozilla.org/zh-CN/docs/Web/CSS/-webkit-overflow-scrolling

-webkit-overflow-scrolling: touch; /* 當手指從觸摸屏上移開,會保持一段時間的滾動 */
-webkit-overflow-scrolling: auto; /* 當手指從觸摸屏上移開,滾動會立即停止 */

https://developer.apple.com/library/content/documentation/AppleApplications/Reference/SafariCSSRef/Articles/StandardCSSProperties.html#//apple_ref/css/property/-webkit-overflow-scrolling

看了下蘋果開發網站上的文檔 iOS 5.0 以上版本是支持 -webkit-overflow-scrolling 屬性的

==========================
https://blog.csdn.net/weiwenwen6/article/details/75007340
【bug】—— H5頁面在 ios 端滑動不流暢的問題
IOS系統的慣性滑動效果非常6,但是當我們對div加overflow-y:auto;后是不會出這個效果的,滑動的時候會感覺很生澀。怎么辦?
方案一:
在滾動容器內加-webkit-overflow-scrolling: touch

但這個方案有一個問題,在頁面內具有多個overflow:auto的情況下,那些具有 絕對定位(absolute, fixed) 屬性的元素,也會跟着滾動。

方案二:
body {overflow-x: hidden}

即,給 body 元素添加overflow-x:hidden。然后在滾動容器內加overflow-y: auto

===========================
在移動端html中經常出現橫向/縱向滾動的效果,但是在iPhone中滾動速度很慢,感覺不流暢,有種卡卡的感覺,但是在安卓設備上沒有這種感覺;
要解決這個問題很簡單:
在滾動容器內加入 -webkit-overflow-scrolling: touch 樣式

======================
禁止 ios scrolling:touch

深入研究-webkit-overflow-scrolling:touch及ios滾動 - 夏大師 - 博客園
https://www.cnblogs.com/xiahj/p/8036419.html

網頁在Safari快速滾動和回彈的原理: -webkit-overflow-scrolling : touch;的實現 - CSDN博客
https://blog.csdn.net/hursing/article/details/9186199

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM