響應(yīng)式圖片

第一種解決方法: img標(biāo)簽的srcset屬性 參考img

  1. src 屬性是 1x 候選項(xiàng)。1x代表DPR(設(shè)備像素比)為1,可以根據(jù)不同DPR來(lái)選擇不同尺寸的圖片
<img src="mdn-logo-sm.png" 
      alt="MDN" 
      srcset="mdn-logo-HD.png 2x">
  1. 當(dāng)使用 'w' 描述符時(shí),src 屬性會(huì)被忽略。當(dāng)匹配了媒體條件 (min-width: 600px) 時(shí),圖像將寬 200px,否則寬 50vw(視圖寬度的50%)。
<img src="clock-demo-thumb-200.png" 
      alt="Clock" 
      srcset="clock-demo-thumb-200.png 200w, clock-demo-thumb-400.png 400w"
      sizes="(min-width: 600px) 200px, 50vw">
  1. 兼容性并不是很好,IE沒有實(shí)現(xiàn),移動(dòng)端只有iOS實(shí)現(xiàn)
PC端IE沒有實(shí)現(xiàn)
移動(dòng)端只有iOS實(shí)現(xiàn)

第二種解決方法: <picture>

1.使用 media 屬性 如果這個(gè)媒體查詢匹配結(jié)果為 false,那么這個(gè)<source>元素會(huì)被跳過(guò)。

<picture>
 <source srcset="mdn-logo-wide.png" media="(min-width: 600px)">
 <img src="mdn-logo.png" alt="MDN">
</picture>

2.使用 type 屬性,srcset 屬性指向的資源指定一個(gè) MIME 類型,如果用戶代理不支持指定的類型,那么這個(gè)<source> 元素會(huì)被跳過(guò)。

<picture>
 <source srcset="mdn-logo.svg" type="image/svg+xml">
 <img src="mdn-logo.png" alt="MDN">
</picture>

3.兼容性比img標(biāo)簽的srcset稍微好一些,但是也有很多不足,不過(guò)還有有一個(gè)輔助工具picturefill.js可以幫助我們解決這些兼容性。

PC

image.png
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡(jiǎn)書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

  • 原文“響應(yīng)式(Responsive)”這個(gè)詞我想大家沒有聽過(guò)一千遍,也有一百遍了。響應(yīng)式是指實(shí)現(xiàn)不同屏幕分辨率的終...
    Www劉閱讀 827評(píng)論 0 0
  • 前幾日看了一篇關(guān)于響應(yīng)式圖片的文章,回想一下平時(shí)做的移動(dòng)端開發(fā),為了適配retina屏幕,一般都是直接選擇2x圖片...
    baxiamali閱讀 490評(píng)論 0 0
  • 為什么要使用響應(yīng)式圖片?當(dāng)前整個(gè)前端都有向移動(dòng)端轉(zhuǎn)移的趨勢(shì),微信上的各種H5頁(yè)面更是用得飛起,為了吸引用戶,不可避...
    HongyangWang閱讀 768評(píng)論 0 3
  • 輪播組件 OwlCarousel2 官網(wǎng):https://owlcarousel2.github.io/OwlCa...
    greenteaObject閱讀 629評(píng)論 0 5
  • 昨晚,看到了自己這樣的信念:我是一個(gè)有罪的該受懲罰的生命。幾乎所有的人生經(jīng)驗(yàn)都證明了,我就是這個(gè)樣子,非常認(rèn)同。 ...
    張力平閱讀 359評(píng)論 0 0

友情鏈接更多精彩內(nèi)容