移動Web開發規範

1.字體設置

使用無襯線字體html

body {
    font-family: "Helvetica Neue", Helvetica, STHeiTi, sans-serif;
}

2.設置全局的CSS樣式,避免圖中的長按彈出菜單與選中文本的行爲

a, img {
    -webkit-touch-callout: none; /* 禁止長按連接與圖片彈出菜單 */
}
html, body {
    -webkit-user-select: none;   /* 禁止選中文本(如無文本選中需求,此爲必選項) */
    user-select: none;
}

3.移動性能

要考慮Android低端機與2G網絡場景下性能  注意!

發佈前必要檢查項 web

  • 全部圖片必須有進行過壓縮
  • 考慮適度的有損壓縮,如轉化爲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
相關文章
相關標籤/搜索