移動前端開發總結
基本概念
Native :本地應用,使用Java/Objective-C/Swift開發
Web App:網頁應用HTML5開發
Hybrid App:混合應用(native,web)
Web App 不需要安裝,開發成本低,維護簡單,跨平臺效能優
但體驗感較差;
Native 需要安裝,開發成本高,維護更新複雜,跨平臺效能較差,但體驗感很好!
Hybrid App 介於兩則之間。 需要安裝,開發成本居中,維護簡單,跨平臺效能良好。
視覺
在移動瀏覽器中使用viewport源標籤控制佈局
一個典型的針對移動端優化的站點包含類似下面的內容:
meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"
width屬性控制視口的寬度。可以像width=600這樣設為確切的畫素數,或者設為device-width這一特殊值來指代比例為100%時螢幕寬度的CSS畫素數值。
initial-scale :初始縮放比例
maximum-scale、minimum-scale :允許使用者縮放的最大、最小比例
user-scalable:使用者是否可以手動縮放。
橫屏/豎屏
window.addEventListener('orientationchange',function(){ //rerender something }); console.log(window.orientation)//0 90 180 -90順時針角度 style media = "all and (orientation:portrait)" type = "text/css" /*豎屏 /style style media = "all and (orientation:portrait)" type = "text/css" /*橫屏 /style
Flex伸縮佈局
.parent{ display:-webkit-flex; display:flex; } .initial{ -webkit-flex:initial; flex:initial; width:200px; min-width:100px; //空間足夠是,寬度為200px,空間不足時為100px,不會更窄 } .none{ -webkit-flex:none; flex:none; width:200px; //無論視窗如何變化,寬度一直是200px } .flex1{ -webkit-flex:1; flex:1; //佔滿剩餘寬度的1/3 } .flex2{ -webkit-flex:2; flex:2; //佔滿剩餘寬度的2/3 }
軟鍵盤
開啟數字鍵盤:
input type = “tel”
隱藏位址列:
setTimeout(funciton(){window.scrollTo(0,1);},0);
APPLE-TOUCH-ICON
在iPhone,iPad,iTouch的safari上可以使用新增到主屏按鈕將網站新增到主螢幕上
link rel=”apple-touch-icon” href=”apple-touch-icon-iphone.png”
link rel=”apple-touch-icon” sizes=”72x72” href=”apple-touch-icon-ipad.png”
link rel=”apple-touch-icon” sizes=”114x114” href=”apple-touch-icon-iphone4.png”
互動
Tap
click 有300ms左右延遲,
tap可解決click的延遲,還可以防止穿透(跨頁面穿透除外)
scroll(未經驗證)
手勢
tap:長按或選擇一個控制或選項
double tap:之間快速雙擊頁面
drag:指尖在頁面上滾動或滑動
flick:指尖快速滑動頁面
CSS3
- 合理使用漸變、圓角、陰影(別太多,低端機hold不住)
- 代替js動畫:效能好,相容性好, why not?
- translate3d:開啟GPU硬體加速,提升動畫渲染效能
LocalStorage
.tpl data js img
每個域的最大長度為5MB
避免
iframe:卡cry,viewport失效,ios寬高失效,fixed定位錯誤
fixed+input
除錯
- 掃瀏覽器二維碼碼除錯
Mobile Web 適配總結
適配使頁面在不同尺寸的手機裝置上,頁面保持統一效果的等比縮放(看起來差不多)。
固定高度,寬度自適應
meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"
以較小寬度(如320px)的視覺稿作為參照進行佈局,垂直高度、間距使用px,em定值,水平混合使用定值和百分比或者利用彈性。
優點:實現簡單,相容性較好。
缺點:320px 過於窄小,不利於頁面的設計;只能設計橫向拉伸的元素佈局,存在很多侷限性。
後兩個適配 js 需儘可能早進入,減少(避免)viewport 變化引起的重繪。
固定寬度,viewport縮放
精準還原視覺稿
利用Rem佈局
依照某特定寬度設定 rem 值(即 html 的 font-size),頁面任何需要彈性適配的元素,尺寸均換算為 rem 進行佈局;
移動端開發和Web前端開發的區別是什麼
普通PC端開發和移動端開發的區別
- 相較而言,移動端需要相容的東西少了。
PC端開發,IE6-11,firefox,chrome,safari相容性
mobile的網頁開發,只需考慮webkit核心的瀏覽器和chrome,uv,qq,小米手機瀏覽器
- 移動端的網頁開發比PC端網頁開發更簡單一些。頁面笑了,CSS、html少了,互動簡單一些,滑動,觸屏,手勢
移動開發規範
tips:
iOS中如何禁止使用者儲存或複製圖片
為一個img標籤指定-webkit-touch-callout為none也會禁止裝置彈出列表按鈕,這樣使用者就無法儲存\複製你的圖片了。
iOS中如何禁止使用者選中文字
我們通過指定文字標籤的-webkit-user-select屬性為none便可以禁止iOS使用者選中文字。
iOS中如何獲取滾動條的值
桌面瀏覽器中想要獲取滾動條的值是通過document.scrollTop和document.scrollLeft得到的,但在iOS中你會發現這兩個屬性是未定義的,為什麼呢?因為在iOS中沒有滾動條的概念,在Android中通過這兩個屬性可以正常獲取到滾動條的值,那麼在iOS中我們該如何獲取滾動條的值呢?
通過window.scrollY和window.scrollX我們可以得到當前視窗的y軸和x軸滾動條的值。
如何解決盒子邊框溢位
當你指定了一個塊級元素時,並且為其定義了邊框,設定了其寬度為100%。在移動裝置開發過程中我們通常會對文字框定義為寬度100%,將其定義為塊級元素以實現全屏自適應的樣式,但此時你會發現,該元素的邊框(左右)各1個畫素會溢了文件,導致出現橫向滾動條,為解決這一問題,我們可以為其新增一個特殊的樣式-webkit-box-sizing:border-box;用來指定該盒子的大小包括邊框的寬度。
附:移動端Web app開發
移動端Web app在頁面頭部加入下面這句話:
meta name="apple-mobile-web-app-capable" content="yes"
這個meta的作用是讓普通網頁被新增到主屏幕後,擁有一些類native的功能,如隱藏ios的上下狀態列,實現全屏,禁止彈性拖拽,修改頂部顏色等。
另外,手機淘寶、手機美團、手機微博的網頁版,大家開啟的時候,不是全屏的,但是用起來,開發者把他們偽裝得很想這種web app的互動體驗而已。(下滑後上狀態列被隱藏)
綜上,可以總結為web app
對js和css的選擇
主流移動端框架有jq mobile ,zepto, backbone ,angular
如zepto中有幾個很有用的事件,swipe,swipeLeft,right,up,down和tap
做了許多相容處理,稍顯多餘,統計資料顯示目前只需要考慮webkit和幾個特定國產瀏覽器。
相關推薦
移動前端開發總結
基本概念 Native :本地應用,使用Java/Objective-C/Swift開發 Web App:網頁應用HTML5開發 Hybrid App:混合應用(native,web) Web App 不需要安裝,開發成本低,維護簡單,跨平臺效能
移動web頁面前端開發總結
工作筆記:移動web頁面前端開發總結 轉載來源:http://www.cnblogs.com/gyjWEB/p/3780374.html 移動web在當今的發展速度是一日千里,作為移動領域的門外漢,在這段時間的接觸後,發現前端開發這一塊做一個小小的總結。 1.四大瀏覽器核心 1.Trident (IE
移動web前端開發總結
工作筆記:移動web頁面前端開發總結 移動web在當今的發展速度是一日千里,作為移動領域的門外漢,在這段時間的接觸後,發現前端開發這一塊做一個小小的總結。 1.四大瀏覽器核心 1.Trident (IE瀏覽器) :因為在早期IE佔有大量的市場份額,所以以前有很多網頁
移動前端開發和 Web 前端開發的區別
平臺 所有 ref 答案 關聯 工程師 禁止 全屏 分享 pc,我們需要考慮什麽呢?有點開發經驗的同學都知道,ie6-11,firefox,chrome,safari都得兼容的吧。哪個都夠你吃一壺的,無論是css還是js。mobile的網頁開發,我們需要考慮什麽呢?就目前
手機/移動前端開發需要註意的20個要點
客戶端 select radius 效果 target 重要 瀏覽器 right 文本框 在網上看到的,先保留起來,後續再添加一些自己的兼容性心得 1、首先我們來看看webkit內核中的一些私有的meta標簽,這些meta標簽在開發webapp時起到非常重要的作用 &
移動前端開發之viewport的深入理解
瀏覽器 開發 分辨率 電腦 標簽 在移動設備上進行網頁的重構或開發,首先得搞明白的就是移動設備上的viewport了,只有明白了viewport的概念以及弄清楚了跟viewport有關的meta標簽的使用,才能更好地讓我們的網頁適配或響應各種不同分辨率的移動設備。一、viewport的概念
29.html5 移動端開發總結
手機 kit you 技巧 運動 dev 方式 include andro 手機與瀏覽器 瀏覽器: 移動端開發主要針對手機,ipad等移動設備,隨著地鐵裏的低頭族越來越多,移動端開發在前端的開發任務中站的比重也越來越大。各種品牌及尺寸的手機也不盡相同。尺寸不同就算了分辨率,
前端開發總結之gulp
&nb
移動前端開發之viewport,devicePixelRatio的深入理解
移動前端開發之viewport的深入理解 在移動裝置上進行網頁的重構或開發,首先得搞明白的就是移動裝置上的viewport了,只有明白了viewport的概念以及弄清楚了跟viewport有關的meta標籤的使用,才能更好地讓我們的網頁適配或響應各種不同解析度的移動裝置。 一、viewport的概念 通
關於網頁隨手機比例縮放的問題。。。 移動前端開發之viewport的深入理解
在做適配手機版時,chrome調到手機版,但是還是顯示PC端的樣式,無法展現出手機端的樣式; 開始的時候還以為是chrome版本的問題,搜尋chrome版本無果; 想了下,按照道理chrome版本越新,功能應該更好用才是。 聯網搜尋並檢視一些手機版網頁的原始碼,發現很多大網站的手機版都有如下一句話:
移動前端開發與WEB前端開發有什麼聯絡與區別?
個人總結: 兩種前端開發的簡介: WEB前端開發:電腦開啟的網頁就算。 移動前端開發:他有多個稱呼,移動前端開發,H5前端開發,native前端開發,Hybird前端開發......(好多好多) 簡化分為兩類,app前端開發(基於phonegap等平臺)與手機網頁開發(簡
移動前端開發與web前端開發的區別
如果說非要有區別的話應該就是開發的軟體和方式不同,因為他們本來就不屬於一端的東西,具體來看看下面: web前端開發 用最簡單粗暴的方式來講,就是用html + css + javascript來構建一個供人瀏覽的網頁,其中又包括兩個主要的分類:pc端網頁開發以及移
一場面試過後—移動前端開發
今天我又去面試了,外界因素一如從前,大公司,面試官男。但是重點是面試,考得是我更渣渣的移動前端。 首先分享下面試官的部落格,這是關於移動端適配方法合集的文章:http://azq.space/2016/08/14/bigcan-lesson-1/#more 心裡一如既往的
指尖上行--移動前端開發進階之路(讀書筆記)----1.1頁面佈局
chapter 1 移動頁面開發 頁面佈局 頁面除錯 常用庫和框架 1.1 頁面佈局 1.1.1 Vieport(視口,檢視視窗) 裝置畫素 物理畫素:螢幕解析度; 裝置獨立畫素:CSS畫素(eg:IPhone5 CSS畫素是320*568p
移動前端開發需要注意的20個要點
移動前端開發正逐漸步入前端技術的主流,事實上跟在一般的pc上,並不需要你掌握額外的技術,然而你在pc web上那一套在多數情況下並不適用於手機web,你必須知道這其中的注意點。當然移動web給人的感覺是一個拼h5和css3的陣地,這裡面有足夠高大上的技術等著你去駕馭。
指尖上行--移動前端開發進階之路(讀書筆記)----2.1動畫形式
chapter 2 技術創意形式 動畫形式 移動裝置 Web API 詳解 WebVR 創意點 2.1 動畫形式 2.1.1 CSS3 CSS3 Cascading Style Sheets 層疊樣式表。 CSS3是CSS技術的一個升級版本,
指尖上行--移動前端開發進階之路(讀書筆記)----1.3常用庫和框架
chapter 1 移動頁面開發 頁面佈局 頁面除錯 常用庫和框架 1.3 常用庫和框架 1.3.1 jQuery Mobile jQuery Mobile是jQuery 框架的一個元件(而非jquery的移動版本)。這個框架已經很老了,本人
移動前端開發的一些簡單分類!
移動端Web開發可分為移動端網頁,移動端web App,Hybird開發(直譯為混合開發,又稱套殼開發,常牽扯到原生App)。 移動端網頁:與PC端網頁基本類似,可以說是縮小版的PC端網頁。僅供瀏覽,不提供其他操作,典型的就是新聞網頁。(這是最基礎的東西) 移動端Web A
移動前端開發螢幕寬度設定之viewport的深入理解
在移動裝置上進行網頁的重構或開發,首先得搞明白的就是移動裝置上的viewport了,只有明白了viewport的概念以及弄清楚了跟viewport有關的meta標籤的使用,才能更好地讓我們的網頁適配或響應各種不同解析度的移動裝置。 一、viewport的概念 通俗的講,移動裝置上的viewport就是裝置的
手機/移動前端開發需要注意的20個要點
轉自:http://sentsin.com/web/54.html 賢心按:移動前端開發正逐漸步入前端技術的主流,事實上跟在一般的pc上,並不需要你掌握額外的技術,然而你在pc web上那一套在多數情況下並不適用於手機web,你必須知道這其中的注意點。當然移動web給人