基本上开发手机网站,可大致分为两大类。一类是用框架开发手机网站。一类是自己手写手机网站。
一、框架开发手机网站
一般用现在常用的开发框架有:目前Web前端最火的框架(BootStrap)、Jquery mobile..当然可能还有一些移动端开发的框架,这些我就没具体去研究过。
为什么说BootStrap是目前前端最火热的开发框架呢?
因为bootstrap自带响应式布局(栅格系统),而且能做到移动设备优先的原则。
运用bootstrap来开发网站有什么好处呢?
1、不懂设计也可以做网站
就算不懂设计,你的网页在Bootstrap的帮助下,也能拥有超高颜值。它强大的内置样式库让你的作品变成尤物。
主要体现在:字体文件和bootstrap自带的UI样式。(为广大不会UI设计的程序员,提供了福音)
2、上手快
你可以专心解决问题,冗繁的细节都丢给Bootstrap操心。可以做到一次开发,就可适配所有终端,并且能迅速上手并建出网站原型。还提供很多丰富的插件,就算你不会JS,基本能看懂常见的API,网站上的效果,基本能解决。
缺点:
1、不遵循最佳实践
我们在使用Bootstrap时遇到的最大问题之一是你的DOM元素上将拥挤大量的类。这打破了良好的web设计基本规则之一,HTML不再有语义,而且内容和表示不再分离。前端纯粹主义者会觉得这相当令人讨厌,以为它使可扩展性、重用性和维护性遇到了更大的挑战。
2、Bootstrap 太重
直接点说:就是CSS和JS有点点大。CSS压缩后115k,JS压缩后35k
如果你想要使用Bootstrap的所有功能,你应该好好考虑资源的加载时间。当然,对于一些地方这可能不是问题,但是在新西兰互联网不得不横跨太平洋,这时数据达到那儿将是很缓慢的。因此考虑你的目标市场。
相信任何框架都有它的优点,同时也是有它的缺点的。没有一个产品是很完美的,所以根据自身实际情况进行选择。至于一些其它框架暂时不做过多的解释了,相信只要你肯愿意百度一下,就可以找到你想要的答案。
二、手写手机网站
一般我们自己手动开发手机网站的话,基本可以划分两类来做到。一类是通过在网页头部添加meta标签进行实现(网页指html5的格式来开发)。另一类是通过CSS3的Media标签(媒介查询)来实现。不了解媒介查询的朋友,可以看看这篇文章:响应式布局。
在这里我们详细讲解下,利用添加meta标签来做手机网站。
基本在网页头部我们只需添加四个meta标签就可以实现一个手机网站的框架。我一起来看看是哪些meta标签。
1、添加viewport标签
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" />
详细属性:
width ---- viewport的宽度(width=device-width意思是:宽度等于设备宽度) height ------ viewport的高度(height=device-height意思是:高度等于设备宽度) initial-scale ----- 初始的缩放比例 minimum-scale ----- 允许用户缩放到的最小比例 maximum-scale ----- 允许用户缩放到的最大比例 user-scalable ----- 用户是否可以手动缩放
2、禁止将数字变为电话号码
<meta name="format-detection" content="telephone=no" />
一般情况下,IOS和Android系统都会默认某长度内的数字为电话号码,即使不加也是会默认显示为电话的,so,取消这个很有必要!
3、iphone设备中的safari私有meta标签
<meta name="apple-mobile-web-app-capable" content="yes" />
它表示:允许全屏模式浏览,隐藏浏览器导航栏
4、iphone的私有标签
<meta name="apple-mobile-web-app-status-bar-style" content="black">
它指定的iphone中safari顶端的状态条的样式
默认值为default(白色),可以定为black(黑色)和black-translucent(灰色半透明)
另外还有一个个性化的link标签,它支持用户将网页创建快捷方式到桌面时,其图标变为我们自己定义的图标。比如手机腾讯网上的标签:
<link rel="apple-touch-icon-precomposed" href="http://3gimg.qq.com/wap30/info/info5/img/logo_icon.png">
不过腾讯对这个png图标的命名并不规范,常规我们要求文件名应为 apple-touch-icon.png 或 apple-touch-icon-precomposed.png ,前者的命名iOS会为这个图标自动添加圆角、阴影和高亮覆盖层,后者则不会添加这些效果。
手机网站基本框架代码:
<!doctype html> <html> <head> <meta charset="utf-8"> <title>手机网站</title> <meta name="keywords" content="" /> <meta name="description" content="" /> <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=0" /> <meta name="format-detection" content="telephone=no" /> <meta name="apple-mobile-web-app-capable" content="yes" /> <meta name="apple-mobile-web-app-status-bar-style" content="black"> <meta name="author" content="duanliang, duanliang920.com" /> <style> body{font-size:62.5%;font-family:"Microsoft YaHei",Arial; overflow-x:hidden; overflow-y:auto;} .viewport{ max-width:640px; min-width:300px; margin:0 auto;} </style> </head> <body> <div> 大家好! 这里心月IT博客,这是我的第一个手机网页哦! </div> </body> </html>