移動Web開發規范摘錄

che_iblv 8年前發布 | 10K 次閱讀 Web開發 CSS 安卓開發 移動開發

字體設置

使用無襯線字體

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 自行上傳分享,僅供網友學習交流。所有權歸原作者,若您的權利被侵害,請聯系管理員。
 轉載本站原創文章,請注明出處,并保留原始鏈接、圖片水印。
 本站是一個以用戶分享為主的開源技術平臺,歡迎各類分享!