到目前为止,互联网行业里,手机愈来愈智能化,移动端占有的比例愈来愈高,尤为实在电商,新闻,广告,游戏领域。用户要求愈来愈高,网站功能愈来愈好,效果愈来愈炫酷,这就要求咱们产品质量愈来愈高,web前端开发而言是一个挑战,是一个难题,也是一个机遇。如何让咱们所开发的手机页面能有更好的交互体验,就是这篇文章的主旨:移动web开发问题和优化小结。这个是我在掘金上看到的一篇文章,感受挺值得咱们去温故知新,在此发出来给本身忘记时查看也给你们一个帮助。css
页面在手机上显示时,增长这个meta可让页面强制让文档的宽度与设备的宽度保持1:1,而且文档最大的宽度比例是1.0,且不容许用户经过点击或者缩放等操做对屏幕放大浏览。(这个在ios10以上的版本已经失效了,即便加了下面的meta,用户双击,缩放仍是能够缩放页面。你们能够按照开发需求,参考下面的链接进行限制--ios10中禁止用户缩放页面)html
<meta content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;" name="viewport" />
禁止ios上自动识别电话前端
<meta content="telephone=no" name="format-detection" />
禁止android上自动识别邮箱vue
<meta content="email=no" name="format-detection" />
下面两个是针对ios上的safari上地址栏和顶端样式条的(个人手机是安卓,这个没很仔细测试过,可是都有加上)html5
<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-->
<a href="tel:020-11811922">打电话给:0755-10086</a> <a href="sms:10086">发短信给: 10086</a>
.translate3d{
-webkit-transform: translate3d(0, 0, 0);
-moz-transform: translate3d(0, 0, 0);
-ms-transform: translate3d(0, 0, 0);
transform: translate3d(0, 0, 0);
}
说到这里,也顺便说下动画或者过渡的两个建议:android
html
中的标签
img
是网页结构的一部分会在加载结构的过程当中和其余标签一块儿加载。
css
背景图存在的图片background会等到结构加载完成(网页的内容所有显示之后)才开始加载
img
的内容,再加载背景图片
background
引用的图片。引入一张图片,那么在这个图片加载完成以前,
img
后的内容不会显示。而用
background
来引入一样的图片,网页结构和内容加载完成以后,才开始加载背景图片,网页内容能正常浏览,可是看不到背景图片。至于这两种,你们按照习惯,需求等权重因素选择!
-webkit-overflow-scrolling: touch;
.fb-box
是一个大div
,包含着页面上的全部元素,包括所看到的那个弹窗.dialog-img
,而且设置了height:100%;-webkit-overflow-scrolling:touch;position:relative;
ios
-webkit-overflow-scrolling:touch;
也须要,可是这样设置,在
ios
上会有一个
bug
,页面滚动必定的距离后,点击了显示弹窗,再关闭的话,就会发现,弹窗的一部分还“留在页面上”。
div
和
.fb-box
以兄弟节点的方式布局,在外层再弄一个
div
包住,这个坑就算爬起来了,效果以下
.fb-box
去掉
position:ralative;
。让弹窗的
div
参考
body
定位!
fixed
元素容易定位出错,软键盘弹出时,影响
fixed
元素定位,会发生元素错位(滚动一下又恢复),有时候会出现闪屏的效果。我也搜过一下这个问题,发现别人还遇到了我没遇到过的问题!真是,哎~。因此在手机上,不建议用
fixed
定位,使用
absolute
代替!若是必定要用,写好了以后,必定要多测试几回!
.no-flash {
-webkit-transform-style: preserve-3d;
-webkit-backface-visibility: hidden;
-webkit-perspective: 1000;
}
a,button,input,textarea{-webkit-tap-highlight-color: rgba(0,0,0,0;)}
input,button,textarea{-webkit-appearance: none;}
手机管家iPhoneX的适配总结css3