随着移動設備的普及,不同尺寸的顯示終端越來(lái)越多(duō),這些(xiē)讓我們看到了響應式網站(zhàn)普及的曙光光及迫切需求。但(dàn)響應式網站(zhàn)一個(gè)必須要解決的問題:如何将網站(zhàn)中的圖片圖片響應式。一張大(dà)圖如果PC端、平闆端、手機端都是一樣大(dà)的話(huà),實在太不科學了,一是手機流量占用過大(dà),下載速度慢;其次就是圖片尺寸大(dà)比例壓縮後會(huì)變得(de)模糊。
如果圖片是以背景方式存在,這種比較好解決,可(kě)以采用媒體(tǐ)查詢,為(wèi)不同尺寸的顯示終端設置不同圖片。但(dàn),如果是網頁中插入的圖片解決起來(lái)就比較複雜一點了。
一、采用srcset屬性,如下代碼
<img src="默認圖片" alt="" srcset="1倍大(dà)圖 600w 200h 1x, 2倍大(dà)圖 600w 200h 2x, 小(xiǎo)圖 200w 200h">
srcset裏面是根據媒體(tǐ)查詢條件顯示不同圖片,跟上(shàng)面差不多(duō)一樣,表達方式不一樣,1x表示顯示器(qì)像素密度顯示倍數(shù)。
正常我是兩者結合的方式實現,各大(dà)浏覽器(qì)最新的版本基本都支持,但(dàn)是IE系列的不支持,這讓我們感到非常頭痛,兼容性具體(tǐ)如下圖。
比較嚴重的問題是QQ浏覽器(qì)以IE為(wèi)內(nèi)核,微信浏覽器(qì)不支持,而微信在國內(nèi)的使用率非常高(gāo),加之微信公衆平台的微官網是客戶的常見需求,最後解決辦法是使用Picturefill,效果非常好。
二、采用picture元素,如下代碼