移動Web開發規范摘錄
字體設置
使用無襯線字體
body { font-family: "Helvetica Neue", Helvetica, STHeiTi, sans-serif; }
iOS 4.0+ 使用英文字體 Helvetica Neue,之前的iOS版本降級使用 Helvetica。中文字體設置為華文黑體STHeiTi。 需補充說明,華文黑體并不存在iOS的字體庫中(http://support.apple.com/kb/HT5878), 但系統會自動將華文黑體 STHeiTi 兼容命中系統默認中文字體黑體-簡或黑體-繁。
- Heiti SC Light 黑體-簡 細體 (iOS 7后廢棄)
- Heiti SC Medium 黑體-簡 中黑
- Heiti TC Light 黑體-繁 細體
- Heiti TC Medium 黑體-繁 中黑
原生Android下中文字體與英文字體都選擇默認的無襯線字體。
- 4.0 之前版本英文字體原生 Android 使用的是 Droid Sans,中文字體原生 Android 會命中 Droid Sans Fallback
- 4.0 之后中英文字體都會使用原生 Android 新的 Roboto 字體
其他第三方 Android 系統也一致選擇默認的無襯線字體。
基礎交互
設置全局的CSS樣式,避免圖中的長按彈出菜單與選中文本的行為。
a, img { -webkit-touch-callout: none; /* 禁止長按鏈接與圖片彈出菜單 */ } html, body { -webkit-user-select: none; /* 禁止選中文本(如無文本選中需求,此為必選項) */ user-select: none; }
移動性能
要考慮Android低端機與2G網絡場景下性能!
發布前必要檢查項:
- 所有圖片必須有進行過壓縮
- 考慮適度的有損壓縮,如轉化為80%質量的jpg圖片
- 考慮把大圖切成多張小圖,常見在banner圖過大的場景
加載性能優化, 達到打開足夠快。
- 數據離線化,考慮將數據緩存在 localStorage
- 初始請求資源數 < 4
- 圖片使用CSS Sprites 或 DataURI
- 外鏈 CSS 中避免 @import 引入
- 考慮內嵌小型的靜態資源內容
- 初始請求資源gzip后總體積<50kb
- 靜態資源(HTML/CSS/JS/Image)是否優化壓縮?
- 避免打包大型類庫
- 確保接入層已開啟Gzip壓縮(考慮提升Gzip級別,使用CPU開銷換取加載時間)
- 盡量使用CSS3代替圖片
- 初始首屏之外的靜態資源(JS/CSS)延遲加載
- 初始首屏之外的圖片資源按需加載(判斷可視區域)
- 單頁面應用(SPA)考慮延遲加載非首屏業務模塊
- 開啟Keep-Alive鏈路復用
運行性能優化, 達到操作足夠流暢
- 避免 iOS 300+ms 點擊延時問題
- 緩存 DOM 選擇與計算
- 避免觸發頁面重繪的操作
- Debounce連續觸發的事件(scroll / resize / touchmove等),避免高頻繁觸發執行
- 盡可能使用事件代理,避免批量綁定事件
- 使用CSS3動畫代替JS動畫
- 避免在低端機上使用大量CSS3漸變陰影效果,可考慮降級效果來提升流暢度
- HTML結構層級保持足夠簡單
- 盡能少的使用CSS高級選擇器與通配選擇器
- Keep it simple
來自: http://www.helloweba.com/view-blog-369.html
本文由用戶 che_iblv 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!