优秀的判断力来自经验,但经验来自于错误的判断。!
最近这两天跟着公司的进展做会议室预约项目,我负责移动端前端页面的编写与测试,虽然以前接触过移动端布局,但只是简单的
做些网页,未又更深的涉及,这次公司的项目算是我真正意义上的深入了解与运用移动端布局,通过这个项目我收获颇多,比如
1.<head>标签里
<meta content="yes" name="apple-mobile-web-app-capable"/>
<meta name="viewport" content="width=device-width,height=device-height,inital-scale=1.0,maximum-scale=1.0,user-scalable=no;"/>
的作用。
对于
<meta name="viewport" content="width=device-width,height=device-height,inital-scale=1.0,maximum-scale=1.0,user-scalable=no;"/>
这个想必大家都知道,当页面在手机上显示时,增加这个meta可以让页面强制让文档的宽度与设备的宽度保持1:1,并且文档最大的宽度比例是1.0,且不允许用户点击屏幕放大浏览。
2.移动端click事件300ms延迟
click事件,在移动端,会经过300ms的延迟后才触发。原因是,移动浏览器提供一个特殊的功能:双击(double tap)放大,用户碰触页面之后,需要等待一段时间来 判断是不是双击(double tap)动作,而不是立即响应单击(click),等待的这段时间大约是300ms。
3.移动端页面,在安卓手机端(苹果手机不会出现此问题)软键盘弹出顶起页面布局,会把页面整体压缩上移动。
出现的原因是:安卓手机屏幕分辨率的问题,当手机端软键盘弹出的时候,键盘占据的页面将不会占据自己编写的整个布局,将会把键盘之外的部分作为自己的布局宽
高,所以导致整个页面压缩上移动。
解决办法是:为整个页面加一个固定可视高度,代码如下:
var clientHeight = document.documentElement.clientHeight;
$(".register-box").css("height", clientHeight);//
$("body").css("height", clientHeight);
总结: 通过这次项目我又掌握了许多以前不曾了解到的知识,又丰富了自己的技术栈,感觉收获颇多,加油!未来可期待。