移動端開發的兼容問題(自我總結篇)


移動端開發的兼容問題

文章已同步我的github筆記 https://github.com/ymblog/blog,歡迎大家加star~~

1、ios下input為type=button屬性disabled設置true,會出現樣式文字和背景異常問題。

解決方案:使用opacity=1來解決

2、對非可點擊元素如(label,span)監聽click事件,部分ios版本下不會觸發。

解決方案:css增加cursor:pointer就搞定了

3、移動端1px邊框

解決方案:比如按鈕的box的class為btn

.btn:before{
  content:'';
  position: absolute;
  top: 0;
  left: 0;
  border: 1px solid #ccc;
  width: 200%;
  height: 200%;
  box-sizing:border-box;
  -webkit-box-sizing:border-box;
  -webkit-transform: scale(0.5);
  transform: scale(0.5);
  -webkit-transform-origin: left top;
  transform-origin: left top;
}

4、input為fixed定位,在ios下input固定定位在頂部或者底部,在頁面滾動一些距離后,點擊input(彈出鍵盤),input位置會出現在中間位置。

解決方案:內容列表框也是fixed定位,這樣不會出現fixed錯位的問題

5、移動端字體小於12px使用四周邊框或者背景色塊,部分安卓文字偏上bug問題。

解決方案:可以使用整體放大1倍(width、height、font-size等等)再使用transform縮放,使用canvas在移動端會模糊也需要這樣的解決方案

6、在移動端圖片上傳圖片兼容低端機的問題。

解決方案:input 加入屬性 accept="image/*" multiple

7、在h5嵌入app中,ios如果出現垂直滾動條時,手指滑動頁面滾動之后,滾動很快停下來,好像踩着剎車在開車,有“滾動很吃力”的感覺。

解決方案:

self.webView.scrollView.decelerationRate = UIScrollViewDecelerationRateNormal;對webview設置了更低的“減速率”

8、移動端click 300ms 延時響應

解決方案:使用 Fastclick

window.addEventListener( "load", function() {
  FastClick.attach( document.body );
}, false );

9、在安卓機上placeholder文字設置行高會偏上

解決方案:input有placeholder情況下不要設置行高

10、overflow:scroll,或者auto在iOS上滑動卡頓的問題

解決方案:加入-webkit-overflow-scrolling:touch;

11、移動端圖片壓縮預覽上傳的問題,可以參考我的一篇文章https://segmentfault.com/a/11...

12、移動端適配可以使用lib-flexible https://github.com/amfe/lib-f...,使用rem來布局移動端有一個問題就是px的小數點的問題,不同的手機對於小數點處理方式不一樣,有些是四舍五入,有些直接舍去掉,因此在自動生成雪碧圖時候圖標四周適當留2px的空間,防止圖標被裁剪掉

13、iphonex的適配的解決方案

<meta name="viewport" content="...,viewport-fit=cover" />
body{
    padding-top: constant(safe-area-inset-top);
    padding-top: env(safe-area-inset-top);
    padding-bottom: constant(safe-area-inset-bottom);
    padding-bottom: env(safe-area-inset-bottom);
}

結束……撒花~~

文章已同步我的github筆記 https://github.com/ymblog/blog,歡迎大家加star~~

之后有問題會陸續更新上去,大家有更多的兼容問題或者以上有問題可以在評論中留言。


免責聲明!

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



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