最近一直在研究行動手機網站的開發,發現做手機網站沒有想像中的那麼難。為什麼會這麼說呢?我們試想下:我們連傳統的PC網站都會做,難道連一個小小的手機網站都搞不定嗎?其實手機網站就是微縮版的PC網站罷了!至於為什麼覺得難、覺得無從下手。
覺得有以下幾點:
一、沒有完整的思路和流程
就像做網站的流程一樣,如果你能知道它的流程,相信就不會覺得做手機網站很難!真正難的是你沒有思路。
二、把html5這門技術想的高深莫測
好像覺得學會用html5 css3做手機網站,就等於學會了頂尖的絕世武功。其實你錯了!不要把html5這玩意想的太高深,其實做手機網站,真正意義上用不到什麼的html5的強大功能。 (可能對於一些不懂什麼技術的小白而言:你的手機網站是用HTML5 CSS3做的啊,簡直牛逼呀!能用上目前互聯網上最新最前沿的技術。其實明眼人一看,就知道是用什麼技術做的。
基本上開發手機網站,可大致分為兩大類。一類是用框架開發手機網站。一類是自己手寫手機網站。
一、框架開發手機網站一般用現在常用的開發框架有:目前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標籤
詳細屬性:
關於viewport的詳細原理和知識點,各位就百度吧!在這裡我就不做詳細的講解了。width ---- viewport的宽度(width=device-width意思是:宽度等于设备宽度) height ------ viewport的高度(height=device-height意思是:高度等于设备宽度) initial-scale ----- 初始的缩放比例 minimum-scale ----- 允许用户缩放到的最小比例 maximum-scale ----- 允许用户缩放到的最大比例 user-scalable ----- 用户是否可以手动缩放
2、禁止將數字變成電話號碼
一般情況下,IOS和Android系統都會預設某長度內的數字為電話號碼,即使不加也是會預設顯示為電話的,so,取消這個很有必要!
3、iphone設備中的safari私有meta標籤
它表示:允許全螢幕模式瀏覽,隱藏瀏覽器導覽列
4、iphone的私人標籤
它指定的iphone中safari頂端的狀態條的樣式
默认值为default(白色),可以定为black(黑色)和black-translucent(灰色半透明)
另外还有一个个性化的link标签,它支持用户将网页创建快捷方式到桌面时,其图标变为我们自己定义的图标。比如手机腾讯网上的标签:
不过腾讯对这个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> 大家好!我是段亮,这是我的第一个手机网页哦! </div> </body> </html>
下面是我做的基于微信二次开发的手机页面案例:
其实在移动端的开发让我纠结的是在字体单位上的选择。
随着CSS3的兴起,有一种叫rem的单位渐渐的出现在我们的视野中。它是一个相对单位,能实现响应式的那种。它是相对于html根元素来设置当前文字大小,或者宽高的。因为它是一个不固定值,不像PX。听说在PX这个单位在PC和移动的解析不同,所以才使用rem的。这点我也不是很清楚,也请教了一些做手机网站的高手,了解了一些信息。
原来大部分的人依旧是使用PX来布局,rem都用的少。目前来说,就移动端的淘宝首页就是采用rem来作为单位来布局的。关于使用rem单位这个问题以及它的好处:还得需要大神来解答这个问题,毕竟我也只是刚接触。
关于手机网站的调试问题
一般我们采用的:在浏览器调试+真机测试,因为浏览器毕竟只是一个模拟工具,实际开发的话,我们还得用真机去测试。
比如:(Android类手机,iPhone5、5s、6、6Plus...)
而在浏览器上测试,可以chrome(谷歌浏览器)的F12调试工具:有个手机样的小图标,点击就能模拟手机测试。
如下图:
手机测试效果图
或者用火狐的测试工具:按shift+ctrl+M进行查看。
写在最后:其实等你真正熟悉做手机网站这套流程后,你会发现做手机网站没有你想象的那么难,真正难的是不知道如何去下手。对于移动端的JS效果可能和PC端有些不同,因为移动端有移动端的事件,这也是我为什么老是强调学JS,是学原生JS,而不是学Jquery。
以上就是HTML5移动端手机网站开发流程_html5教程技巧的内容,更多相关内容请关注PHP中文网(www.php.cn)!