1.离线缓存为HTML5开发移动应用提供了基础
HTML5 Web Storage API可以看做是加强版的cookie,不受数据大小限制,有更好的弹性以及架构,可以将数据写入到本机的ROM中,还可以在关闭浏览器后再次打开时恢复数据,以减少网络流量。
同时,这个功能算得上是另一个方向的后台“操作记录”,而不占用任何后台资源,减轻设备硬件压力,增加运行流畅性。
在线app支持边使用边下载离线缓存,或者不下载离线缓存;而离线app必须是下载完离线缓存才能使用。
形象点说,cookie就是存了电话和菜单,想吃什么要叫外卖,等多长时间才能吃到就得看交通情况了;离线缓存就是直接在冰箱里存了食物,想吃就能马上吃到(当然,想吃最新的食物同样可以打电话预定)。
设计师要知道,什么时候让用户下载离线缓存(注意在线和离线app的区别)。
2.音频视频自由嵌入,多媒体形式更为灵活
原生开发方式对于文字和音视频混排的多媒体内容处理相对麻烦,需要拆分开文字、图片、音频、视频,解析对应的URL并分别用不同的方式处理。
HTML5在这个方面完全不受限制,可以完全放在一起进行处理。
设计师要知道,如果新闻类、微博类、社交类应用的信息呈现中实现文字与多媒体混排,而不用专门嵌入webview,将是一件多美好的事情,至少现在原生方式实现起来还有困难。
3.地理定位,随时随地分享位置
充分发挥移动设备对定位上的优势,推动LBS应用发展。
可以综合使用GPS、wifi、手机等方式让定位更为精准、灵活。
地理位置定位,让定位和导航不再专属导航软件,地图也不用下载非常大的地图包,可以通过缓存来解决,到哪儿下哪儿,更灵活。
设计师要知道,现在嵌入LBS功能的应用越来越多,这也是移动设备与台式PC相比最大的优势之一,HTML5能把这个优势再度扩大化,好好想想怎么在你设计的应用里用上吧!
4.Canvas绘图,提升移动平台的绘图能力
使用Canvas API可以简单绘制热点图收集用户体验资料
支持图片的移动、旋转、缩放等常规编辑
Canvas – 2D的绘图功能支持
Canvas 3D – 3D的绘图功能支持
SVG – 向量图支援
设计师要知道,图片的移动、旋转、缩放?那都太基础了,自己画都是小case,至于怎么用,好好想想吧!
5.专为移动平台定制的表单元素
浏览器中出现的html5表单元素与对应的键盘:
类型用途键盘
Text正常输入内容标准键盘
Tel电话号码数字键盘
Email电子邮件地址文本框带有@和.的键盘
url网页的URL带有.com和.的键盘
Search用于搜索引擎,比如在站点顶部显示的搜索框标准键盘
range特定值范围内的数值选择器,典型的显示方式是滑动条滑动条或转盘
只需要简单的声明 <input type=”email”>即可完成对不同样式键盘的调用,简捷方便。
设计师要知道,用的时候记得告诉研发同事一声!
1.调整视口代码实例:
<!DOCTYPE html><head>
<meta charset="UTF-8" />
<title>布局之路-移动端开发实例</title>
<meta name="viewport" content="width=device-width,user-scalable = no" />
<link rel="stylesheet" type="text/css" href="css/reset.css" />
</head>
<body>
<div class="wrap"></div>
</body>
</html>
代码解析:由于使用不同设备打开网页时,宽度均有所不同,所以不能讲视口设置为固定值,应当为width=device-width,即将视口设置为当前设备的宽度。
2.确定设计图的最小字体浏览器(部分)能够显示的最小字体未12px,当移动端页面宽度为320px时,要保证最小字体为12px,那么在1080px的设计图中,最小字体应当为42px。
代码实例:
<style type="text/css">html {
font-size: 42px
}
</style> 3.浮动布局
各个区块都是浮动的,不是固定不变的。为了能自适应各个窗口。
代码实例:
.main {float: left
width: 70%
}
.box {
float: left
width: 60.93%
font-size: 1.71rem
text-align: center
line-height: 4.64rem
}
float浮动的好处就是,如果宽度不够放置下这个元素,元素会自动滚动到下方。
4.通过媒介查询,为不同设备加载相应样式有条件应用样式:
<style>@media all and(min-width:500px){ ... }
@media (orientation){ ... }
</style>
代码解析:
第一行媒体查询代码指的是:为宽度大于等于500px的设备设置样式。
第二行媒体查询代码指的是:为纵屏状态(可见区域大于或等于宽度)下的移动端设备设置样式。
有条件的加载样式表:
<head><link rel="stylesheet" href="wide.css" media="screen and(min-width:1024)" />
<link rel="stylesheet" href="mobile.css" media="screen and(max-width:320)" />
</head>
代码解析:
第一行媒体查询代码指的是:为宽度大于等于1024px的设备,加载wide.css文件。
第二行媒体查询代码指的是:为宽度小于等于320px的设备,加载mobile.css文件。
5.使用百分比和rem替换px
除了布局和文本,"自适应网页设计"还必须实现图片的自动缩放。
代码效果对比:
/*使用固定像素*/.box {
float: left
width: 658px
font-size: 72px
text-align: center
line-height: 195px
}
/*使用百分比和rem*/
.box {
float: left
width: 60.93%
font-size: 1.71rem
text-align: center
line-height: 4.64rem
}
代码解析:
水平方向的值,将具体像素调整为百分比。百分比的计算是根据父级的内容区宽度进行计算的。
例如,父级宽度为1080px, 子级元素为197px,那么子元素转换为百分比为:197/1080*100%=18.24%。需要注意的是百分比根据父级计算,当标签结构级别不同时,计算公式中的“分母”也有所不同,在开发时这个地方很容易出现问题,请务必注意。
垂直方向的值,将具体像素调整为rem,与水平方向相比,垂直方向的计算就比较简单。例如,行高为195px,HTML标签当前的字体大小为42px,将行高转换为rem单位,即195/42= 4. 64rem。