响应式图片

第一种解决方法: img标签的srcset属性 参考img

  1. src 属性是 1x 候选项。1x代表DPR(设备像素比)为1,可以根据不同DPR来选择不同尺寸的图片
<img src="mdn-logo-sm.png" 
      alt="MDN" 
      srcset="mdn-logo-HD.png 2x">
  1. 当使用 'w' 描述符时,src 属性会被忽略。当匹配了媒体条件 (min-width: 600px) 时,图像将宽 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没有实现,移动端只有iOS实现
PC端IE没有实现
移动端只有iOS实现

第二种解决方法: <picture>

1.使用 media 属性 如果这个媒体查询匹配结果为 false,那么这个<source>元素会被跳过。

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

2.使用 type 属性,srcset 属性指向的资源指定一个 MIME 类型,如果用户代理不支持指定的类型,那么这个<source> 元素会被跳过。

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

3.兼容性比img标签的srcset稍微好一些,但是也有很多不足,不过还有有一个辅助工具picturefill.js可以帮助我们解决这些兼容性。

PC

image.png
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 原文“响应式(Responsive)”这个词我想大家没有听过一千遍,也有一百遍了。响应式是指实现不同屏幕分辨率的终...
    Www刘阅读 4,084评论 0 0
  • 前几日看了一篇关于响应式图片的文章,回想一下平时做的移动端开发,为了适配retina屏幕,一般都是直接选择2x图片...
    baxiamali阅读 3,142评论 0 0
  • 为什么要使用响应式图片?当前整个前端都有向移动端转移的趋势,微信上的各种H5页面更是用得飞起,为了吸引用户,不可避...
    HongyangWang阅读 3,907评论 0 3
  • 轮播组件 OwlCarousel2 官网:https://owlcarousel2.github.io/OwlCa...
    greenteaObject阅读 3,587评论 0 5
  • 昨晚,看到了自己这样的信念:我是一个有罪的该受惩罚的生命。几乎所有的人生经验都证明了,我就是这个样子,非常认同。 ...
    张力平阅读 2,555评论 0 0