兔兔這麼可愛,拿來當首圖確定更招人喜歡web
圖片在網頁中十分常見。高質量的圖片可以使你的網站更加出色,同時也伴隨着必定的性能損耗。圖片文件較大,會減緩頁面的加載。若是是一個帶寬較低的用戶,用戶體驗將會特別差。因此,開發一個高質量的網頁,須要掌握一些圖片優化的方法。跨域
下面是對圖片相關知識的整理,以及一些圖片相關的優化技巧。瀏覽器
JPEG緩存
PNG網絡
PNG可分爲三種格式:PNG8,PNG24,PNG32。後面的數字表明這種PNG格式最多能夠索引和存儲的顏色值。」8″表明2的8次方也就是256色,而24則表明2的24次方大概有1600多萬色。工具
關於透明:性能
PNG的特性:測試
JPEG和PNG的比較優化
GIF動畫
無損壓縮,支持全透明,支持動畫; 8位圖片格式,最多支持256色; 隔行掃描,加載較快; 適用於顏色不太複雜的圖片,如Logo,icon圖標;
APNG
WebP
在以前的文章「圖片的新型格式:webP的工做原理」中已經介紹過;
WebP是一種支持有損壓縮和無損壓縮的圖片文件格式,支持動畫和透明度,根據Google的測試,有損壓縮後的WebP圖片相比於等效質量指標的JPEG圖片減小了25%~34%的體積,大大減小了頁面的加載時間。
(截圖來源:aotu.io/notes/2016/…
經過兩張圖片對比GIF和APNG,圖一是GIF,圖二是APNG
GIF:
最多支持 8 位 256 色,色階過渡很差,圖片具備顆粒感 不支持 Alpha 透明通道,邊緣有雜邊
APNG:
支持 24 位彩色圖片 支持 8 位 Alpha 透明通道 向下兼容 PNG(若是瀏覽器不支持,顯示靜圖)
SVG
概念:
SVG 指可伸縮矢量圖形 (Scalable Vector Graphics) SVG 用來定義用於網絡的基於矢量的圖形 SVG 使用 XML 格式定義圖形 SVG 圖像在放大或改變尺寸的狀況下其圖形質量不會有所損失 SVG 是萬維網聯盟的標準 SVG 與諸如 DOM 和 XSL 之類的 W3C 標準是一個總體
與其餘圖像格式相比,使用 SVG 的優點在於:
SVG 可被很是多的工具讀取和修改(好比記事本) SVG 與 JPEG 和 GIF 圖像比起來,尺寸更小,且可壓縮性更強。 SVG 是可伸縮的 SVG 圖像可在任何的分辨率下被高質量地打印 SVG 可在圖像質量不降低的狀況下被放大 SVG 圖像中的文本是可選的,同時也是可搜索的(很適合製做地圖) SVG 能夠與 Java 技術一塊兒運行 SVG 是開放的標準 SVG 文件是純粹的 XML
將許多的小圖標合併到一張圖片上,請求一張圖片,經過截取獲取圖標; 減小HTTP請求次數,提升頁面加載速度
選擇圖片格式
1.使用其它技術代替圖片,如邊框,圓角,陰影,漸變等能夠用CSS設置; 2.能夠用矢量圖代替; 3.選擇合適的圖片格式; 4.使用雪碧圖,base64圖片減小http請求; 5.預加載 6.懶加載