常用的移動端框架
zepto.js
語法與jquery幾乎一樣,會jquery基本會zepto~
最新版本已經更新到1.16
常使用的擴充套件模組:
iscroll.js解決頁面不支援彈性滾動,不支援fixed引起的問題~
實現下拉重新整理,滑屏,縮放等功能~
最新版本已經更新到5.0
underscore.js筆者沒用過,不過聽說好用,推薦給大家~
該庫提供了一整套函數語言程式設計的實用功能,但是沒有擴充套件任何JavaScript內建物件。
最新版本已經更新到1.8.2
滑屏框架適合上下滑屏、左右滑屏等滑屏切換頁面的效果
flex佈局flex佈局目前可使用在移動中,並非所有的語法都全相容,但以下寫法筆者實踐過,效果良好~
/* ============================================================
flex:定義佈局為盒模型
flex-v:盒模型垂直佈局
flex-1:子元素佔據剩餘的空間
flex-align-center:子元素垂直居中
flex-pack-center:子元素水平居中
flex-pack-justify:子元素兩端對齊
相容性:ios 4+、android 2.3+、winphone8+
============================================================ */
.flex{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox
.flex-v{-webkit-box-orient:vertical;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}
.flex-1{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;}
.flex-align-center{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center
.flex-pack-center{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}
.flex-pack-justify{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}
示例:兩端對齊
<!DOCTYPE html><html><head><meta charset="utf-8"><meta content="width=device-width,initial-scale=1.0,maximum-scale=1.0,user-scalable=no" name="viewport"><meta content="yes" name="apple-mobile-web-app-capable"><meta content="black" name="apple-mobile-web-app-status-bar-style"><meta content="telephone=no" name="format-detection"><meta content="email=no" name="format-detection"><style type="text/css">/* ============================================================
flex:定義佈局為盒模型
flex-v:盒模型垂直佈局
flex-1:子元素佔據剩餘的空間
flex-align-center:子元素垂直居中
flex-pack-center:子元素水平居中
flex-pack-justify:子元素兩端對齊
相容性:ios 4+、android 2.3+、winphone8+
============================================================ */
.flex{display:-webkit-box;display:-webkit-flex;display:-ms-flexbox;display:flex;}
.flex-v{-webkit-box-orient:vertical;-webkit-flex-direction:column;-ms-flex-direction:column;flex-direction:column;}
.flex-1{-webkit-box-flex:1;-webkit-flex:1;-ms-flex:1;flex:1;}
.flex-align-center{-webkit-box-align:center;-webkit-align-items:center;-ms-flex-align:center;align-items:center;}
.flex-pack-center{-webkit-box-pack:center;-webkit-justify-content:center;-ms-flex-pack:center;justify-content:center;}
.flex-pack-justify{-webkit-box-pack:justify;-webkit-justify-content:space-between;-ms-flex-pack:justify;justify-content:space-between;}</style></head><body>
<div class="flex flex-pack-justify">
<div>模組一</div>
<div>模組二</div>
<div>模組三</div>
<div>模組四</div></div>
</body></html>
使用注意:
· flex下的子元素必須為塊級元素,非塊級元素在android2.3機器下flex失效
· flex下的子元素寬度和高度不能超過父元素,否則會導致子元素定位錯誤,例如水平垂直居中
參考:
FastClick消除在移動瀏覽器上觸發click事件與一個物理Tap(敲擊)之間的300延遲
Sea.js提供簡單、極致的模組化開發體驗
· 簡單友好的模組定義規範:Sea.js 遵循 CMD 規範,可以像 Node.js 一般書寫模組程式碼。
· 自然直觀的程式碼組織方式:依賴的自動載入、配置的簡潔清晰,可以讓我們更多地享受編碼的樂趣。