web前端優化(2)

圖片相關優化

1.圖片相關優化的核心概念

圖片壓縮指的是針對圖片的情況,捨棄一些相對無關緊要的色彩信息,捨去測部分人眼基本是察覺不出來的。

  • 有損壓縮在壓縮過程中會丟失部分圖片資源,但是這部分資源對人眼來說是沒有區別,所以不是很重要。
  • png8/png24/png32的區別
    • png8 256色+支持透明(8bit就可以表示一個顏色)
    • png24 2^24色+不支持透明(24bit纔可以顯示一個像素中的顏色)
    • png32 2^24色+支持透明(在24位的基礎上增加8位支持透明)
    • 根據需要選擇文件類型,顏色越豐富,所需的空間就越多
  • 不同格式圖片常用的業務場景
    • jpg有損壓縮,壓縮率高,不支持透明
    • png支持透明,瀏覽器兼容性好(如果png8能支持的話,那麼文件大小會相對更小)
    • webp壓縮程度更好,在ios webview有兼容性問題(2010年穀歌提出來的文件格式)
    • svg矢量圖,代碼內嵌,相對較小,圖片樣式相對簡單的場景(svg標籤在代碼中進行圖片的繪製,質量相對較高,iconfont這樣的庫就可以很好的使用svg圖)
    • jpg多應用於大部分不需要透明圖片的業務場景
    • png多應用於大部分需要透明圖片的業務場景
    • webp多應用於安卓部分
    • svg多應用於圖片樣式相對簡單的業務場景
  • css雪碧圖
    • 將網站要用的圖片都放在一張圖片上
    • 可以減少網站對於圖片的http請求,減少網站的請求數量
    • 當雪碧圖比較大時,加載會比較慢
    • 一旦雪碧圖加載失敗,那麼網站上所有的圖標都會消失
  • svg矢量圖的使用
    • svg是html5中一個比較重要的標準
    • 可以使用幾行代碼就實現相對複雜的圖標,減少頁面的體積,增加網頁的請求速度
  • image inline 將圖片的內容內嵌到html中以減少網站的http請求數量
  • image inline會將html文件變大,但是圖片不大的話,基本可以忽略,但是可以減少一次http請求,所有小魚8kb或者4kb的文件,一般是選用image inline將圖片內聯進來,這樣減少網絡請求的時間會大大小魚html文件大小的增加的請求時間
  • https://tinypng.com(圖片壓縮網站)

2.facebook和淘寶移動首頁案例分析

  • 淘寶移動端首頁分析

    • 淘寶首頁會自動判斷是否當前瀏覽器是否支持webp格式圖片,若是,則使用webp格式的文件,若是ios類型的瀏覽器,不支持webp格式的話,則自動換成jpg格式的文件
    • 部分小圖標使用了image inline的方式直接將圖片內嵌到網頁中,減少http的請求數量。
  • facebook的實例分析

    • facebook的網站上使用的css圖標是雪碧圖,但是對雪碧圖也做了一定的處理,將部分具有相同特性的圖標放在一張雪碧圖上,這樣將雪碧圖拆分開,增加了請求數量,但是避免了圖片過大對網絡的壓力
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章