
在我們的網站中,一張普通圖片消耗的資源要遠遠大于一千個文字的大小,根據HTTP Archive 的研 究數據,圖片約占整個網頁權重的 24%,如果圖片沒有優化處理,這會極大地影響頁面加載速度。 有研究表明,如果頁面在 3 秒內未加載,高達 40% 的用戶將放棄該網站。通過分析一些網站得出:大多數HTTP 請求都是針對圖片的,并且是下載量最大的圖片資源,這對網站的加載速度是一個極大的挑戰。
選擇合適的圖片格式可以顯著減小圖片文件的大小。常見的圖片格式包括 JPEG、PNG 和 GIF。一般而言:
JPEG 用于照片或具有豐富色彩的圖片。
PNG 用于圖片需要透明背景的情況,以及對圖片細節和質量要求較高的情況。
GIF 用于簡單的動畫或需要透明背景的小圖標。
如下,不同格式圖片對比:
td {white-space:nowrap;border:1px solid #dee0e3;font-size:10pt;font-style:normal;font-weight:normal;vertical-align:middle;word-break:normal;word-wrap:normal;}
圖片格式 | 優點 | 缺點 | 適用場景 |
GIF | 文件小,支持動畫、透明,無兼容性問題 | 只支持256種顏色 | 色彩簡單的logo、icon、動圖 |
JPG | 色彩豐富,文件小 | 有損壓縮,反復保存圖片質量下降明顯 | 色彩豐富的圖片/漸變圖片 |
PNG | 無損壓縮,支持透明,簡單圖片尺寸小 | 不支持動畫,色彩豐富的圖片尺寸大 | logo/icon/透明圖 |
WEBP | 文件小,支持有損和無損壓縮,支持動畫、透明 | 瀏覽器兼容性不好 | 支持webp格式的app和webview |
SVG | 不失真可縮放性、文本可編輯、文件占比小、無損壓縮 | 復雜圖片存在性能問題、瀏覽器兼容性不好 | 小型圖標、簡單的圖形和圖表、動畫效果圖 |
確保你的圖片尺寸與其在網頁上顯示的實際尺寸相匹配。
切記不要使用大尺寸的圖片,然后通過 CSS 縮小它們,這會增加頁面加載時間。
使用適當的圖片編輯工具(如 Photoshop、GIMP 或在線工具)來調整圖片的實際尺寸。
使用圖片壓縮工具來減小圖片文件的大小,而不犧牲太多質量。一些常用的圖片壓縮工具包括:TinyPNG
JPEG-Optimizer
ImageOptim
確保服務器設置了適當的緩存頭,以便瀏覽器可以緩存圖片文件。這樣,當用戶再次訪問頁面時,瀏覽器可以從本地緩存加載圖片,而不必重新下載。
對于較長的頁面,可以使用圖片懶加載技術,僅在圖片進入用戶的視口時加載它們。這可以減小初始頁面加載時間。
.icon {
width: 32px;
height: 32px;
display: inline-block;
background-image: url('sprites.png'); /* 合并后的圖片文件 */
}
.icon1 {
background-position: 0 0; /* 圖標1在合并圖片中的位置 */
}
.icon2 {
background-position: -40px 0; /* 圖標2在合并圖片中的位置 */
}
<picture>
<source media="(max-width: 320px)" srcset="image-320w.jpg">
<source media="(max-width: 480px)" srcset="image-480w.jpg">
<source srcset="image-800w.jpg">
<img src="image-default.jpg" alt="Responsive Image">
</picture>
對于不是立即需要加載的圖片,可以使用延遲加載或異步加載的技術。這對于一些非關鍵性的圖片(如底部的圖片)可能會有幫助。
近年來,性能優化方面將會有很多技術突破,例如:HTTP/2,新的圖片格式,例如:webp、AVIF等;還可以使用 javascript 腳本工具優化,例如:懶加載、延遲加載,只允許首先加載首屏上的圖片,用戶交互以后再繼續加載; 對于包含許多圖片的頁面,延遲加載可以極大的縮短頁面加載時間;我們可以為不同設備添加不同尺寸大小的圖片,而不是為不同設備提供一種標準尺寸。圖片優化只是網絡性能的冰山一角,但它是一個重要的起點。
(來源:Kenyth)
以上內容屬作者個人觀點,不代表雨果跨境立場!本文經原作者授權轉載,轉載需經原作者授權同意。?