0712-2888027 189-8648-0214
微信公眾號

孝感風(fēng)信網(wǎng)絡(luò)科技有限公司微信公眾號

當(dāng)前位置:主頁 > 技術(shù)支持 > HTML5/CSS3 > HTML5移動端手機(jī)網(wǎng)站開發(fā)流程

HTML5移動端手機(jī)網(wǎng)站開發(fā)流程

時間:2015-11-05來源:風(fēng)信官網(wǎng) 點(diǎn)擊: 755次

最近一直在研究移動手機(jī)網(wǎng)站的開發(fā),發(fā)現(xiàn)做手機(jī)網(wǎng)站沒有想象中的那么難。為什么會這么說呢?我們試想下:我們連傳統(tǒng)的PC網(wǎng)站都會做,難道連一個小小的手機(jī)網(wǎng)站難道都搞不定嗎?其實(shí)手機(jī)網(wǎng)站就是一個微縮版的PC網(wǎng)站罷了!至于為什么覺得難、覺得無從下手。

段亮覺得有以下幾點(diǎn):

一、沒有完整的思路和流程

就像做網(wǎng)站的流程一樣,如果你能知道它的流程,我相信就不會覺得做手機(jī)網(wǎng)站難!真正難的是你沒有思路。

二、把html5這門技術(shù)想的高深莫測

好 像覺得學(xué)會用html5+css3做手機(jī)網(wǎng)站,就相當(dāng)于學(xué)會了頂尖的絕世武功。其實(shí)你錯了!不要把html5這玩意想的太高深,其實(shí)做手機(jī)網(wǎng)站,真正意義 上用不到什么的html5的強(qiáng)大功能。(可能對于一些不懂什么技術(shù)的小白而言:你的手機(jī)網(wǎng)站是用HTML5+CSS3做的啊,簡直牛逼呀!能用上目前互聯(lián) 網(wǎng)上最新最前沿的技術(shù)。其實(shí)明眼人一看,就知道是用什么技術(shù)做的。俗話說的好:"外行看熱鬧,內(nèi)行看門道")

好了扯了這么多,下面就說說怎么來開發(fā)移動手機(jī)網(wǎng)站吧!

基本上開發(fā)手機(jī)網(wǎng)站,可大致分為兩大類。一類是用框架開發(fā)手機(jī)網(wǎng)站。一類是自己手寫手機(jī)網(wǎng)站。

一、框架開發(fā)手機(jī)網(wǎng)站

一般用現(xiàn)在常用的開發(fā)框架有:目前Web前端最火的框架(BootStrap)、Jquery mobile..當(dāng)然可能還有一些移動端開發(fā)的框架,這些我就沒具體去研究過。

為什么說BootStrap是目前前端最火熱的開發(fā)框架呢?

因?yàn)閎ootstrap自帶響應(yīng)式布局(柵格系統(tǒng)),而且能做到移動設(shè)備優(yōu)先的原則。

運(yùn)用bootstrap來開發(fā)網(wǎng)站有什么好處呢?

1.不懂設(shè)計(jì)也可以做網(wǎng)站

就算不懂設(shè)計(jì),你的網(wǎng)頁在Bootstrap的幫助下,也能擁有超高顏值。它強(qiáng)大的內(nèi)置樣式庫讓你的作品變成尤物。

主要體現(xiàn)在:字體文件和bootstrap自帶的UI樣式。(為廣大不會UI設(shè)計(jì)的程序員,提供了福音)

2.上手快

你可以專心解決問題,冗繁的細(xì)節(jié)都丟給Bootstrap操心??梢宰龅揭淮伍_發(fā),就可適配所有終端,并且能迅速上手并建出網(wǎng)站原型。還提供很多豐富的插件,就算你不會JS,基本能看懂常見的API,網(wǎng)站上的效果,基本能解決。

缺點(diǎn):

1.不遵循最佳實(shí)踐

我們在使用Bootstrap時遇到的最大問題之一是你的DOM元素上將擁擠大量的類。這打破了良好的web設(shè)計(jì)基本規(guī)則之一,HTML不再有語義,而且內(nèi)容和表示不再分離。前端純粹主義者會覺得這相當(dāng)令人討厭,以為它使可擴(kuò)展性、重用性和維護(hù)性遇到了更大的挑戰(zhàn)。

2. Bootstrap 太重

直接點(diǎn)說:就是CSS和JS有點(diǎn)點(diǎn)大。CSS壓縮后115k,JS壓縮后35k

如果你想要使用Bootstrap的所有功能,你應(yīng)該好好考慮資源的加載時間。當(dāng)然,對于一些地方這可能不是問題,但是在新西蘭互聯(lián)網(wǎng)不得不橫跨太平洋,這時數(shù)據(jù)達(dá)到那兒將是很緩慢的。因此考慮你的目標(biāo)市場。

相信任何框架都有它的優(yōu)點(diǎn),同時也是有它的缺點(diǎn)的。沒有一個產(chǎn)品是很完美的,所以根據(jù)自身實(shí)際情況進(jìn)行選擇。至于一些其它框架暫時不做過多的解釋了,相信只要你肯愿意百度一下,就可以找到你想要的答案。

/uploads/allimg/151105/1JT210b-0.jpg

二、手寫手機(jī)網(wǎng)站

一般我們自己手動開發(fā)手機(jī)網(wǎng)站的話,基本可以劃分兩類來做到。一類是通過在網(wǎng)頁頭部添加meta標(biāo)簽進(jìn)行實(shí)現(xiàn)(網(wǎng)頁指html5的格式來開發(fā))。另一類是通過CSS3的Media標(biāo)簽(媒介查詢)來實(shí)現(xiàn)。不了解媒介查詢的朋友,可以看看這篇文章:響應(yīng)式布局。

在這里我們詳細(xì)講解下,利用添加meta標(biāo)簽來做手機(jī)網(wǎng)站。

基本在網(wǎng)頁頭部我們只需添加四個meta標(biāo)簽就可以實(shí)現(xiàn)一個手機(jī)網(wǎng)站的框架。我一起來看看是哪些meta標(biāo)簽。

1、添加viewport標(biāo)簽

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

詳細(xì)屬性:

width  ----  viewport的寬度(width=device-width意思是:寬度等于設(shè)備寬度)
height ------  viewport的高度(height=device-height意思是:高度等于設(shè)備寬度)
initial-scale ----- 初始的縮放比例
minimum-scale ----- 允許用戶縮放到的最小比例
maximum-scale ----- 允許用戶縮放到的最大比例
user-scalable ----- 用戶是否可以手動縮放

關(guān)于viewport的詳細(xì)原理和知識點(diǎn),各位就百度吧!在這里我就不做詳細(xì)的講解了。

2、禁止將數(shù)字變?yōu)殡娫捥柎a

<meta name="format-detection" content="telephone=no" />

一般情況下,IOS和Android系統(tǒng)都會默認(rèn)某長度內(nèi)的數(shù)字為電話號碼,即使不加也是會默認(rèn)顯示為電話的,so,取消這個很有必要!

3、iphone設(shè)備中的safari私有meta標(biāo)簽

<meta name="apple-mobile-web-app-capable" content="yes" />

它表示:允許全屏模式瀏覽,隱藏瀏覽器導(dǎo)航欄

4、iphone的私有標(biāo)簽

<meta name="apple-mobile-web-app-status-bar-style" content="black">

它指定的iphone中safari頂端的狀態(tài)條的樣式

默認(rèn)值為default(白色),可以定為black(黑色)和black-translucent(灰色半透明)

另外還有一個個性化的link標(biāo)簽,它支持用戶將網(wǎng)頁創(chuàng)建快捷方式到桌面時,其圖標(biāo)變?yōu)槲覀冏约憾x的圖標(biāo)。比如手機(jī)騰訊網(wǎng)上的標(biāo)簽:

<link rel="apple-touch-icon-precomposed" href="http://3gimg.qq.com/wap30/info/info5/img/logo_icon.png">

不 過騰訊對這個png圖標(biāo)的命名并不規(guī)范,常規(guī)我們要求文件名應(yīng)為 apple-touch-icon.png 或 apple-touch-icon-precomposed.png ,前者的命名iOS會為這個圖標(biāo)自動添加圓角、陰影和高亮覆蓋層,后者則不會添加這些效果。

手機(jī)網(wǎng)站基本框架代碼:

<!doctype html>
<html>
<head>
<meta charset="utf-8">
<title>手機(jī)網(wǎng)站</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>
        大家好!我是段亮,這是我的第一個手機(jī)網(wǎng)頁哦!
    </div>
</body>
</html>

下面是我做的基于微信二次開發(fā)的手機(jī)頁面案例:

點(diǎn)擊預(yù)覽

其實(shí)在移動端的開發(fā)讓我糾結(jié)的是在字體單位上的選擇。

隨 著CSS3的興起,有一種叫rem的單位漸漸的出現(xiàn)在我們的視野中。它是一個相對單位,能實(shí)現(xiàn)響應(yīng)式的那種。它是相對于html根元素來設(shè)置當(dāng)前文字大 小,或者寬高的。因?yàn)樗且粋€不固定值,不像PX。聽說在PX這個單位在PC和移動的解析不同,所以才使用rem的。這點(diǎn)我也不是很清楚,也請教了一些做 手機(jī)網(wǎng)站的高手,了解了一些信息。

原來大部分的人依舊是使用PX來布局,rem都用的少。目前來說,就移動端的淘寶首頁就是采用rem來作為單位來布局的。關(guān)于使用rem單位這個問題以及它的好處:還得需要大神來解答這個問題,畢竟我也只是剛接觸。

關(guān)于手機(jī)網(wǎng)站的調(diào)試問題

一般我們采用的:在瀏覽器調(diào)試+真機(jī)測試,因?yàn)闉g覽器畢竟只是一個模擬工具,實(shí)際開發(fā)的話,我們還得用真機(jī)去測試。

比如:(Android類手機(jī),iPhone5、5s、6、6Plus...)

而在瀏覽器上測試,可以chrome(谷歌瀏覽器)的F12調(diào)試工具:有個手機(jī)樣的小圖標(biāo),點(diǎn)擊就能模擬手機(jī)測試。

如下圖:

/uploads/allimg/151105/1JT25016-1.jpg

或者用火狐的測試工具:按shift+ctrl+M進(jìn)行查看。

寫 在最后:其實(shí)等你真正熟悉做手機(jī)網(wǎng)站這套流程后,你會發(fā)現(xiàn)做手機(jī)網(wǎng)站沒有你想象的那么難,真正難的是不知道如何去下手。對于移動端的JS效果可能和PC端 有些不同,因?yàn)橐苿佣擞幸苿佣说氖录@也是我為什么老是強(qiáng)調(diào)學(xué)JS,是學(xué)原生JS,而不是學(xué)Jquery。我的下篇文章就會講到"為什么學(xué)JS要學(xué)原生 JS",喜歡的朋友可以關(guān)注下博客。(以上均是段亮個人經(jīng)驗(yàn),如有不足的地方可以指出,相互學(xué)習(xí)!)

欄目列表
推薦內(nèi)容
熱點(diǎn)內(nèi)容
展開