爲何今天想起來總結一下這個呢,只由於在看webpack的時候 出現一下這句話:css
「咱們能夠配置url-loader來將小於1024字節的圖片使用DataUrl替換而大於1024字節的圖片使用url」html
我就想爲何 webpack 要這樣設置?因而就搜到了一下這個好連接webpack
http://justcoding.iteye.com/blog/2090964web
<img src="images/myimage.gif "> <img src="data:image/gif;base64,R0lGODlhMwAxAIAAAAAAAP/// yH5BAAAAAAALAAAAAAzADEAAAK8jI+pBr0PowytzotTtbm/DTqQ6C3hGX ElcraA9jIr66ozVpM3nseUvYP1UEHF0FUUHkNJxhLZfEJNvol06tzwrgd LbXsFZYmSMPnHLB+zNJFbq15+SOf50+6rG7lKOjwV1ibGdhHYRVYVJ9Wn k2HWtLdIWMSH9lfyODZoZTb4xdnpxQSEF9oyOWIqp6gaI9pI1Qo7BijbF ZkoaAtEeiiLeKn72xM7vMZofJy8zJys2UxsCT3kO229LH1tXAAAOw==">
以上的代碼,總結一下知識:緩存
1. Data URL 和 圖片的區別koa
(1)引用 src="images/myimage.gif " 是引用外部資源,會佔用一個http會話url
這就解釋爲何 webpack 配置url-loader來將小於1024字節的圖片使用DataUrl替換, 由於圖片太小,佔用http會話得不償失。spa
(2)大小 Data URL 的體積比 圖片大, 因此圖片太大,對體積也有限制 就不時候使用Data URLcode
(3)緩存 img src="Data URL" 不會緩存 圖片htm
2. 如何解決Data URL 的緩存問題
在CSS裏使用Data URL
.striped_box { width: 100px; height: 100px; background-image: url("data:image/gif;base64,R0lGODlhAwADAIAAAP///8zMzCH5BAAAAAAALAAAAAADAAMAAAIEBHIJBQA7"); border: 1px solid gray; padding: 10px; }
因而就想到一下這個問題
3. html img 和 css background-image 的區別
加載 html img 先加載 css 後加載 因此重要的用 html img ,好比 logo
「若是你用引入了一個很大的圖片,那麼在這個圖片下載完成以前,img後的內容都不會顯示。而若是用css來引入一樣的圖片,網頁結構和內容加載完成以後,纔開始加載背景圖片,不會影響你瀏覽網頁內容。」
http://www.cnblogs.com/shytong/p/5127788.html
對於自適應什麼的我就不說了
4 href 和 src 的區別 引用和引入的區別