即將圖片資源轉換為 base64 字符串格式嵌到頁面或樣式中。這樣連圖片的請求鏈接都省了。
如:
使用方式
標簽語法:
data : 取得數據協議
image/png : 取得數據的協議名稱(注意這里也圖片資源也可以使用字體等)
base64 : 數據編碼方式
iVBOR... : 編碼后數據
優點
減少 HTTP 請求
避免某些文件跨域
無圖片緩存等問題(但是一般 css 也是有緩存的好不好)
缺點
兼容性 ( IE6,7 不兼容, 可以使用 MHTML 來解決 )
瀏覽器不會緩存該圖片(這里是否是這樣我存有疑惑,因為好像看上去也是第一次加載的時候慢)
增加 css 文件大小
編碼成本及維護(展示不直觀,目前需手動轉換,我暫時不知道自動替換之類的插件)
之前有看到過篇測評說性能上比 sprite 微弱一些,一時間找不到鏈接
綜合起來,data URI可以使用在
* 圖片尺寸很小,使用一條 http 請求有點浪費,如漸變背景框
* 圖片在全站大規模使用,且很少被更新的,如 loading
新聞熱點
疑難解答