这段时间做了几个移动项目的前端页面,姑且称之webapp。做这几个项目之前根本没接触过移动端的相关知识,以为和PC端页面没啥区别无非就是尺寸小一点罢了。上手以后发现问题颇多。下面从框架、相关知识点、遇到的问题、解决办法,以及依旧存在的困惑进行总结。因为刚接触1个多月时间,多处不足,希望各位大神能为我解惑,拜谢~~查看图片
一、框架
框架:Bootstrap+HTML5 Boilerplate。
两个框架整合到一起可以看一下这位大神的文章:《使用 Bootstrap 和 HTML5 Boilerplate 开始一个项目》。
二、相关知识点
1.Meta标签
控制显示区域(在PC端也会用到):
- width – viewport(视区)的宽度
- height – viewport的高度
- initial-scale – 初始的缩放比例
- minimum-scale – 允许用户缩放到的最小比例
- maximum-scale – 允许用户缩放到的最大比例
- user-scalable – 用户是否可以手动缩放
IOS中Safari允许全屏浏览:
IOS中Safari顶端状态条样式:
忽略将数字变为电话号码:
IOS和Android系统会默认把一定长度内的数字辨认为电话号码,有时会引起误操作.
2.link标签
Safari保存到桌面图标:
通过设置apple-touch-icon标签,添加到主屏幕的图标就会使用我们指定大小的图片。
给WebApp加一个类似NativeApp的启动画面:
3.字体图标(Font Awesome)
下载地址:http://fontawesome.dashgame.com/很好的使用文档。
查看图片 网页(HTML):
图标字体 V4.3.0-->
fa-camera-retro
效果:查看图片
查看图片 PS使用:
字体包里有FontAwesome.otf文件,安装字体到电脑,重启PS。
到 fortawesome.github.io/Font-Awesom…复制查看图片前面的图标到ps。
开始是这样的查看图片改成FontAwesome字体后查看图片
4.CSS3的-webkit-box
用于流式布局父元素宽度被子元素均分。
例:父元素分别被分成3:2:1
HTML代码:
01
02
03
CSS代码:
.wrap{
width:600px;
height:200px;
display:-moz-box;
display:-webkit-box;
display:box;
}
.sectionOne{
background:orange;
-moz-box-flex:3;
-webkit-box-flex:3;
box-flex:3;
}
.sectionTwo{
background:purple;
-moz-box-flex:2;
-webkit-box-flex:2;
box-flex:2;
}
.sectionThree{
-moz-box-flex:1;
-webkit-box-flex:1;
box-flex:1;
background:green;
}
效果:查看图片
可以参考这篇文章:wenlong883.blog.163.com/blog/static…
5.横竖屏切换字体变大问题(-webkit-text-size-adjust:none)
css代码:
html{
height:100%;
-webkit-text-size-adjust: 100%;
-ms-text-size-adjust: 100%;
text-size-adjust: 100%; /*避免字体被浏览器自动重置*/
font-size:62.5%;
}
6.CSS3新的字体单位(rem)
解释:相对长度单位。相对于根元素(即html元素)font-size计算值的倍数。
用途:用em、百分比的时候计算大小很让人头疼,当嵌套的太多时我就会晕掉,转而而用px,可是px是固定死的。因为rem的的参照点只有根元素,所以我们可以给根元素设置好合适的大小一切既搞定了。从 IE6 到Chrome根元素默认的font-size都是 16px(是这样吗?)。
css代码:html{font-size:62.5%; /* 10÷16=62.5% */
}
根元素设置完(10px)之后:font-size:12px;等同于font-size:1.2rem ;
7.Buttons样式
地址:http://www.bootcss.com/p/buttons/
8.CSS3动画(all-animation.css)
一个Css3动画的解决方案。
下载及演示地址:http://www.html580.com/?Ky37dClP
9.页面手势操作(hammer.js)
解释:hammer.js是一款开源的移动端脚本框架,它可以完美的实现在移端开发的大多数事件,如:点击、滑动、拖动、多点触控等事件。不需要依赖任何其他的框架,并且整个框架非常小,在使用时非常简单。
看这位大神的文章http://www.cnblogs.com/iamlilinfeng/p/4239957.html
9.css中-webkit-overflow-scrolling: touch(允许独立的滚动区域和触摸回弹)
解释:http://www.cnblogs.com/PeunZhang/p/3553020.html
查看图片待续……