隨著移動設備的普及,不同尺寸的顯示終端越來越多,這些讓我們看到了響應式網站普及的曙光光及迫切需求。但響應式網站一個必須要解決的問題:如何將網站中的圖片圖片響應式。一張大圖如果PC端、平板端、手機端都是一樣大的話,實在太不科學了,一是手機流量占用過大,下載速度慢;其次就是圖片尺寸大比例壓縮后會變得模糊。
圖片分為背景圖片和通過img標簽引入的圖片,前者可以通過media query自動的切換不同分辨率的版本,但是在不支持background image size的瀏覽器中背景圖片無法無級的調整大小(也就是在media query切換css的點上可以換一張不同分辨率的圖,但是沒法兒獲得兩張分辨率中間大小的版本),而且在很多情況下(比如cms中)并不適合用背景圖片。
如果是img標簽引入的圖片,可以使用延遲加載的方式來加載,在實際加載圖片之前先用js檢查窗口寬度,然后加載不同分辨率的圖片,比如寬度<=480,就加載80px寬度的圖片,480 < 寬度 <= 768,加載120px的圖片, 寬度> 768則加載160px的圖片,如果寬度是600px怎么辦呢,通過百分比來縮放120px的圖片達到合適的結果。