那一抹温暖的阳光,是我们永恒的向往。
www.webbar.cn

【移动WEB开发】常用技巧

【移动WEB开发】常用技巧

*Meta标签

//强制让文档的宽度与设备的宽度保持1:1,并且文档最大的宽度比例是1.0,且不允许用户点击屏幕放大浏览;
<meta content=”width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0;” name=”viewport” />
//iphone设备中的safari私有meta标签,允许全屏模式浏览;
<meta content=”yes” name=”apple-mobile-web-app-capable” />
//iphone的私有标签,它指定的iphone中safari顶端的状态条的样式;
<meta content=”black” name=”apple-mobile-web-app-status-bar-style” />
//告诉设备忽略将页面中的数字识别为电话号码;
<meta content=”telephone=no” name=”format-detection” />

 

*关闭识别后添加链接

关闭识别后添加链接
<a href=”tel:12345654321″>打电话给我</a>
<a href=”sms:12345654321″>发短信</a>
<span onclick=”location.href=’tel:122′”></span>

 

*使用HTML5标签

使用html5标签增强语义,提升体验

 

*放弃float属性

遇到内容排列排列显示的布局放弃float,使用display、webkit-box自适应布局

 

*利用CSS3边框背景属性

使用-webkit-border-image代替复杂的(圆角+内发光+高光)

 

*块级化a标签

将每条数据都放在一个a标签中提升用户体验,尽可能的保证用户的可点击区域较大。

 

*去除Android邮箱地址的识别

<meta content=”email=no” name=”format-detection” />

 

*去除iOS和Android中的输入URL的控件条

setTimeout(scrollTo,0,0,0) 需要放在window.onload里,当前文档的内容高度必须是高于窗口的高度。

 

*用户旋转设备

禁止开发者阻止浏览器的orientationchange事件

 

*用户是通过主屏启动你的webapp

IOS 从主屏启动时navigator.standalone为true,从站点为false
Android 无

 

*关闭iOS中键盘自动大写

autocapitalize=”off”

 

*iOS中如何彻底禁止用户在新窗口打开页面

IOS -webkit-touch-callout:none;
Android 无效。

 

*iOS中禁止用户保存图片/复制图片

-webkit-touch-callout:none

 

*iOS中如何禁止用户选中文字

-webkit-user-select:none

 

*iOS中如何获取滚动条的值

window.scrollY和window.scrollX

 

*解决盒子边框溢出

宽度100%时边框溢出,-webkit-box-sizing:border-box;

 

*Android 2.0以下圆角问题

必须加-webkit-

 

*android页面自适应

<meta name=”viewport” content=”width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=0;” />

 

*如何解决iOS 4.3版本中safari对页面中5位数字的自动识别和自动添加样式

 

<meta name=”format-detection” content=”telphone=no” />

 

*样式设置

<link rel=”apple-touch-startup-image” href=”startup.png” /> // 设置开始页面图片
<link rel=”apple-touch-icon” href=”iphon_tetris_icon.png”/> // 在设置书签的时候可以显示好看的图标
<link rel=”stylesheet” media=”all and (orientation:portrait)” href=”portrait.css” /> // 肖像模式样式
<link rel=”stylesheet” media=”all and (orientation:landscape)” href=”landscape.css” /> // 风景模式样式
<style media=”all and (orientation:portrait)”></style> //竖屏时使用的样式
<style media=”all and (orientation:landscape)”></style> //横屏时使用的样式

 

*事件

/ 手势事件
touchstart //当手指接触屏幕时触发
touchmove //当已经接触屏幕的手指开始移动后触发
touchend //当手指离开屏幕时触发
touchcancel

// 触摸事件
gesturestart //当两个手指接触屏幕时触发
gesturechange //当两个手指接触屏幕后开始移动时触发
gestureend

// 屏幕旋转事件
onorientationchange

// 检测触摸屏幕的手指何时改变方向
orientationchange

// touch事件支持的相关属性
touches
targetTouches
changedTouches
clientX    // X coordinate of touch relative to the viewport (excludes scroll offset)
clientY    // Y coordinate of touch relative to the viewport (excludes scroll offset)
screenX    // Relative to the screen
screenY    // Relative to the screen
pageX     // Relative to the full page (includes scrolling)
pageY     // Relative to the full page (includes scrolling)
target     // Node the touch event originated from
identifier   // An identifying number, unique to each touch event

//屏幕旋转事件:onorientationchange
window.orientation //0 肖像模式,-90 左旋,90 右旋,180 风景模式

 

*自动大写与自动修正

<input type=”text” autocapitalize=”off” autocorrect=”off” />

 

*阻止旋转屏幕时自动调整字体大小

html, body, form, fieldset, p, div, h1, h2, h3, h4, h5, h6 {-webkit-text-size-adjust:none;}

 

*缩小图片

@media screen and (max-device-width: 480px){
img{max-width:100%;height:auto;}
}

 

 

时间:2014-04-03

Comments are closed.

Search