Z
ZHANK
编程在线教程HTML 教程响应式图片 picture
图像

响应式图片 picture

picture/source 响应式、srcset 分辨率切换、WebP 兼容回退

响应式图片 picture

<picture> 元素让浏览器根据屏幕大小选择合适的图片——手机用小图省流量,大屏用高清图。

学完本章你将: 掌握 picture/source 响应式、srcset 分辨率切换。


picture 元素

html
<picture>
  <!-- 屏幕宽度 >= 800px 用大图 -->
  <source srcset="large.jpg" media="(min-width: 800px)">
  <!-- 屏幕宽度 >= 400px 用中图 -->
  <source srcset="medium.jpg" media="(min-width: 400px)">
  <!-- 默认(手机)用小图 -->
  <img src="small.jpg" alt="响应式图片">
</picture>

srcset 分辨率切换

html
<img src="photo-1x.jpg"
     srcset="photo-1x.jpg 1x,
             photo-2x.jpg 2x,
             photo-3x.jpg 3x"
     alt="高清屏适配">
<!-- 普通屏加载 1x,Retina 屏加载 2x/3x -->

综合示例

html
<picture>
  <!-- 支持 WebP 的浏览器用 WebP -->
  <source srcset="photo.webp" type="image/webp">
  <!-- 不支持 WebP 的回退到 JPEG -->
  <img src="photo.jpg" alt="兼容方案">
</picture>