天天看點

移動端前端開發:移動web頁面前端開發總結

MUI frozenUI swiper

轉載來源:https://blog.csdn.net/qianduankuangjia/article/details/78205389

在移動端開發網頁就基本不用考慮這種浏覽器間的相容問題了,手機上的浏覽器絕大部分是webkit核心的,是以在移動端網頁開發的時候能用到很多新的特性,像是極大簡便了頁面布局的flex布局,還有各種語義化的标簽等。但是由于移動端手機的尺寸種類繁多,是以在這方面要下點功夫,舉個最簡單的例子就是一行本來是能顯示3個目标的item但是在某些小尺寸的手機上隻能顯示2個。其他還有一些細微的差別例如js庫的選擇(pc上用jQuery,移動端用zepto,PC+移動+安卓+IOS用TUOCH UI等)。

轉載來源:http://www.cnblogs.com/gyjWEB/p/3780374.html

移動web在當今的發展速度是一日千裡,作為移動領域的門外漢,在這段時間的接觸後,發現前端開發這一塊做一個小小的總結。

1.四大浏覽器核心

1.Trident (IE浏覽器) :因為在早期IE占有大量的市場佔有率,是以以前有很多網頁是根據這個Trident的标準來編寫的,但是實際上這個核心對真正的網頁标準支援不是很好,同時存在許多安全Bug。

2.Gecko:( FireFox )優點就是功能強大、豐富,可以支援很多複雜網頁效果和浏覽器擴充接口,缺點是消耗很多的資源,比如記憶體。

3.Webkit: ( Chrome/ Safari / UC )優點就是Webkit擁有清晰的源碼結構、極快的渲染速度,缺點是對網頁代碼的相容性較低,會使一些編寫不标準的網頁無法正确顯示。

4.Presto: ( 歐朋 ) Presto核心被稱為公認的浏覽網頁速度最快的核心,同時也是處理JS腳本最相容的核心,能在Windows、Mac及Linux作業系統下完美運作。

移動端開發主要對象是手持裝置,其中絕大部分是IOS和Android系統,基于Webkit核心,可使用Chrome浏覽器調試即可。

2.手機浏覽器

浏覽器已經逐漸從傳統桌面轉向手機端,競争也越來越激烈。目前國内市場主流的手機浏覽器有:UC、百度、歐朋、QQ、海豚、safari、Chrome,這些浏覽器都是基于webkit核心的,相容性方面不存在問題,同時對html5和css3的支援很好,是以,大膽地應用html5和css3技術吧。

在開始編寫webapp時,前端工程師使用HTML5,而放棄HTML4,因為HTML5可以實作一些HTML4中無法實作的豐富的WEB應用程式 的體驗,可以減少開發者很多的工作量,當然了你決定使用HTML5前,一定要對此非常熟悉,要知道HTML5的新标簽的作用。比如定義一塊内容或文章區域可使用section标簽,定義導覽列或頁籤可以直接使用nav标簽等等。

3.終端分辨率

手機分辨率比PC分辨率要龐雜得多,各種分辨率有木有?大小差距那麼大有木有?這在一定程度上給頁面制作帶來了不小的麻煩。是以針對這樣的因素,必須有充分的考慮。考慮到浏覽器自适應,需要設計和制作完成各種不同的方法。

  1. 市場上主流手機生産商的産品分辨率。經過調研發現,目前主流的手機分辨率為:480800像素、320480像素,而1280*720像素(720P)會是接下來的趨勢。這些都是很粗略的統計,要有精确的資料需要花費不少的精力,那是資料分析人員的工作。
  2. 項目目标群所持裝置的分辨率。項目目标群即使用者,使用者擁有什麼樣的手機分辨率,從一定程度上來說比第一點來得更加重要,它決定着項目開發的方向。

4.響應式web開發

在編寫CSS時,我不建議前端工程師把容器(不管是外層容器還是内層)的寬度定死。為達到适配各種手持裝置,我建議前端工程師使用自适應布局模式(支付寶 采用了自适應布局模式),因為這樣做可以讓你的頁面在ipad、itouch、ipod、iphone、android、web safarik、chrome都能夠正常的顯示,你無需再次考慮裝置的分辨率。

響應式web開發不是一項開創性的技術變革,簡單地說,響應式web設計采用了媒體查詢、流式布局、液态圖檔三項技術,把它們組合在一起來制作頁面,使得頁面不隻在傳統桌面,在平闆電腦和手機上,各種不同的分辨率都能夠完美顯示。而要做到這點,我覺得不難,請繼續往下:

  1. 準備工作:

a) 插件安裝:window resize。您可以通過以下連結 https://chrome.google.com/webstore/search-extensions/window resize下載下傳安裝谷歌浏覽器插件,安裝成功後,當您調整浏覽器視窗時,在浏覽器右下角會有灰階提示目前視窗和類似于手機視口的大小提示。截圖如下:

b) 編輯器安裝:subline Text2(支援html5,安裝css3擴充失敗)、topStyle5(支援css3)。

c) 弄清視口和螢幕的差別。視口是浏覽器的内容顯示區域,螢幕是裝置的實體顯示區域。比如視口寬度我們一般用width表示,而螢幕寬度是用device-width來表示。相信做過手機頁面的童鞋都經常見過這段代碼:

< meta name=“viewport” content=“width=device-width,initial-scale=1.0”>

其中width=device-width就是說把頁面寬度設定成和螢幕寬度一樣。

d) 響應式設計創意網站收集:http://www.mediaqueri.es。這裡有很多響應式Web設計的網站,供您參考和學習。

  1. 征途ING:

e) 響應式web設計之媒體查詢:

為了減少http請求,我想在css樣式表裡進行媒體查詢會是個不錯的選擇,而不是在頁面head部分使用link進行加載。樣式表裡的媒體查詢格式為:

@media screen and (max-width:960px){}

大括号内部書寫樣式。該語句相當于判斷語句,有兩個條件,一個是視口寬度最大不超過960px,screen代表顯示屏,這兩個條件都具備了,就調用大括号内的樣式。

f) 響應式web設計之流式布局:

流式布局以百分比進行布局。最重要是時刻關注元素的父級層,所有的元素都是以父級層為基準。流式布局的應用是為了和媒體查詢完美地結合,形成平滑的布局變化跳轉效果。一般而言,media裡的樣式多以width、padding、margin、font-size、line-height這些為主。

g) 響應式web設計之液态圖檔:

要實作液态圖檔,隻需加入如下代碼:img{max-width:100%;}

web移動頭部書寫1

首頁

1、首先我們來看看webkit核心中的一些私有的meta标簽,這些meta标簽在開發webapp時起到非常重要的作用

這個meta标簽表示:強制讓文檔的寬度與裝置的寬度保持1:1,并且文檔最大的寬度比例是1.0,且不允許使用者點選螢幕放大浏覽;

meta标簽是iphone裝置中的safari私有meta标簽,它表示:允許全屏模式浏覽;

meta标簽也是iphone的私有标簽,它指定的iphone中safari頂端的狀态條的樣式;

meta标簽表示:告訴裝置忽略将頁面中的數字識别為電話号碼

其他注意問題

1.在項目開發過程中可以會遇到内容排列排列顯示的布局,建議你放棄float,可以直接使用display:block;

2.請保證将每條資料都放在一個a标簽中,為何這樣做?因為在觸控手機上,為提升使用者體驗,盡可能的保證使用者的可點選區域較大。

3.學會使用webkit-box。

我們說過自适應布局模式,有些同學可能會問:如何在移動裝置上做到完全自适應呢?很感謝webkit為display屬性提供了一個 “webkit-box” 的值,它可以幫助前端工程師做到盒子模型靈活控制。

4、如何去除Android平台中對郵箱位址的識别

看過iOS webapp API的同學都知道iOS提供了一個meta标簽:用于禁用iOS對頁面中電話号碼的自動識别。在iOS中是不自動識别郵件位址的,但在Android平台,它會自動檢測郵件位址,當使用者touch到這個郵件位址時,Android會彈出一個框提示使用者發送郵件,如果你不想Android自動識别頁面中的郵件位址,你不妨加上這樣一句meta标簽在head中

5、如何去除iOS和Android中的輸入URL的控件條

你的老闆或者PD或者互動設計師可能會要求你:能否讓我們的webapp更加像nativeapp,我不想讓使用者看見那個輸入url的控件條?答案是可以做到的。我們可以利用一句簡單的javascript代碼來實作這個效果

setTimeout(scrollTo,0,0,0);

請注意,這句代碼必須放在window.onload裡才能夠正常的工作,而且你的目前文檔的内容高度必須是高于視窗的高度時,這句代碼才能有效的執行。

6、如何禁止使用者旋轉裝置

我曾經也想禁止使用者旋轉裝置,也想實作像某些用戶端那樣:隻能在肖像模式或景觀模式下才能正常運作。但現在我可以很負責任的告訴你:别想了!在移動版的webkit中做不到!至少Apple webapp API已經說到了:我們為了讓使用者在safari中正常的浏覽網頁,我們必須保證使用者的裝置處于任何一個方位時,safari都能夠正常的顯示網頁内容(也就是自适應),是以我們禁止開發者阻止浏覽器的orientationchange事件,看來蘋果公司的出發點是正确的,蘋果确實不是一般的蘋果。iOS已經禁止開發者阻止orientationchange事件,那Android呢?對不起,我沒有找到任何資料說Android禁止開發者阻止浏覽器orientationchange事件,但是在Android平台,确實也是阻止不了的。

7、如何檢測使用者是通過主屏啟動你的webapp

看過Apple webapp API的同學都知道iOS為safari提供了一個将目前頁面添加主屏的功能,按下iphone\ipod\ipod touch底部工具中的小加号,或者ipad頂部左側的小加号,就可以将目前的頁面添加到裝置的主屏,在裝置的主屏會自動增加一個目前頁面的啟動圖示,點選該啟動圖示就可以快速、便捷的啟動你的webapp。從主屏啟動的webapp和浏覽器通路你的webapp最大的差別是它清除了浏覽器上方和下方的工具條,這樣你的webapp就更加像是nativeapp了,還有一個差別是window對像中的navigator子對象的一個standalone屬性。iOS中浏覽器直接通路站點時,navigator.standalone為false,從主屏啟動webapp時,navigator.standalone為true, 我們可以通過navigator.standalone這個屬性獲知使用者目前是否是從主屏通路我們的webapp的。在Android中從來沒有添加到主屏這回事!

6、如何關閉iOS中鍵盤自動大寫

我們知道在iOS中,當虛拟鍵盤彈出時,預設情況下鍵盤是開啟首字母大寫的功能的,根據某些業務場景,可能我們需要關閉這個功能,移動版本webkit為input元素提供了autocapitalize屬性,通過指定autocapitalize="off"來關閉鍵盤預設首字母大寫。

分割線*****

緩存控制

下面這行: 與下面一行有相同的效果: 某些 WAP 浏覽器不支援用 标簽來控制緩存, 但它們确實知道 HTTP 頭 "Cache-Control: no-cache" 的意思. 這種情況下, 解決方案是在伺服器端的 HTTP 響應中設定 HTTP 頭.

HTTP重新整理

注意的是這個 XHTML MP 例子中需要 . 如果上述代碼沒被包含, WAP 浏覽器将僅僅顯示緩存中的文檔的複本, 而不需要每次重新整理都連接配接伺服器.

某些 WAP 浏覽器是不支援 HTTP 重新整理的. 例如, HTTP 重新整理在 Openwave 移動浏覽器 6.2.2 版上運作良好, 但在 Nokia 移動浏覽器 4.0 版, Sony Ericsson T610 和 T68i 行動電話模拟器上是不起作用的. 注釋

clearType字型

定義頁面尺寸 IE的使用: google搜尋中知道這個可以解決flash不能全屏的問題,自己沒遇到過。 其他使用: