web前端

移动 Web 开发问题和优化小结

2018-02-05  本文已影响0人  BHAH

1. Meta标签

<meta content="telephone=no"name="format-detection"/>
<meta content="email=no" name="format-detection" />
<meta name="apple-mobile-web-app-capable" content="yes" />
<!-- 听说在ios7以上版本就没效果了 -->
<meta name="apple-mobile-web-app-status-bar-style" content="black" />
<!-- 可选default、black、black-translucent 但是我都是用black-->

2. 打电话发短信

<a href="tel:020-11811922">打电话给:0755-10086</a>
<a href="sms:10086">发短信给: 10086</a>

3. css3过渡动画开启硬件加速

.translate3d{
       -webkit-transform: translate3d(0, 0, 0);
       -moz-transform: translate3d(0, 0, 0);
       -ms-transform: translate3d(0, 0, 0);
       transform: translate3d(0, 0, 0);
 }

4. 移动端click屏幕产生200-300 ms的延迟响应

关于touch和鼠标事件的延迟说明

5. 图片优化

5-1.base64编码图片替换url图片

5-2.图片压缩

5-3.图片懒加载

5-4.img还是background

6. 快速回弹滚动

-webkit-overflow-scrolling: touch;
<html>
    <!--外部大div-->
    <div class='fb-box'>
        <!--弹窗div-->
        <div class='dialog-img' style='height:100%;-webkit-overflow-scrolling:touch;position:relative;'></div>
    </div>
</html>
1. 解决方案1:把弹窗的div和.fb-box以兄弟节点的方式布局,在外层再弄一个div包住

<html>
    <div class='box'>
        <div class='fb-box'></div>
        <div class='dialog-img' style='height:100%;-webkit-overflow-scrolling:touch;position:relative;'></div>
    </div>
</html>

2. 解决方案2:.fb-box去掉position:ralative;。让弹窗的div参考body定位!

7. 谨慎使用fixed

8. 消除transition闪屏

.no-flash { 
        -webkit-transform-style: preserve-3d; 
        -webkit-backface-visibility: hidden; 
        -webkit-perspective: 1000; 
}

9. ios系统中去掉元素被触摸时产生的半透明灰色遮罩

a,button,input,textarea{-webkit-tap-highlight-color: rgba(0,0,0,0;)}

10. ios中去掉默认input默认样式

input,button,textarea{-webkit-appearance: none;}

11. 左右滑动,避免页面跟着滑动

上一篇 下一篇

猜你喜欢

热点阅读