<picture> 标签通过 <source> 和 <img> 实现响应式图片;1. 使用 media 属性根据屏幕宽度加载不同图片;2. 利用 srcset 配合宽度或像素密度描述符适配设备 dpr;3. 通过 type 属性优先提供 webp 格式并降级 jpeg;4. 结合 sizes 属性精确控制图片显示尺寸,提升加载效率与用户体验,且 <img> 保证不支持浏览器的兼容性,完整结束。

picture

解决方案:
<picture>
<source>
<img>
<source>
<img>
<picture>

一个基本的例子:
<picture> <source media="(max-width: 600px)" srcset="small.jpg"> <source media="(max-width: 900px)" srcset="medium.jpg"> <img src="large.jpg" alt="A descriptive image"> </picture>
这段代码的意思是:

small.jpg
medium.jpg
<picture>
large.jpg
关键属性:
srcset
image-320w.jpg 320w
image-1x.jpg 1x, image-2x.jpg 2x
media
type
image/jpeg
image/webp
响应式图片不仅仅是尺寸问题:
除了根据屏幕宽度选择不同尺寸的图片外,还可以根据设备像素比(DPR)提供不同清晰度的图片。例如:
<picture> <source srcset="image-1x.jpg 1x, image-2x.jpg 2x" type="image/jpeg"> <img src="image-1x.jpg" alt="A descriptive image"> </picture>
这段代码会根据设备的 DPR 选择合适的图片。在高 DPI 设备上,会加载
image-2x.jpg
Picture 标签兼容性如何?需要做降级处理吗?
<picture>
<img>
<img>
src
<picture>
picturefill.js
picture
WebP格式的图片如何与Picture标签结合使用,提升性能?
WebP 是一种现代图片格式,具有更好的压缩率和图像质量。利用
<picture>
<picture> <source srcset="image.webp" type="image/webp"> <source srcset="image.jpg" type="image/jpeg"> <img src="image.jpg" alt="A descriptive image"> </picture>
在这个例子中,浏览器首先尝试加载 WebP 格式的图片。如果浏览器支持 WebP,则显示
image.webp
image.jpg
type
<source>
如何使用 sizes 属性更精确地控制图片显示?
sizes
srcset
sizes
srcset
例如:
<img srcset="image-320.jpg 320w, image-480.jpg 480w, image-800.jpg 800w" sizes="(max-width: 320px) 280px, (max-width: 480px) 440px, 800px" src="image-800.jpg" alt="A descriptive image" >
这段代码的意思是:
srcset
image-320.jpg
image-480.jpg
image-800.jpg
sizes
以上就是picture标签怎么用?响应式图片如何实现?的详细内容,更多请关注php中文网其它相关文章!
每个人都需要一台速度更快、更稳定的 PC。随着时间的推移,垃圾文件、旧注册表数据和不必要的后台进程会占用资源并降低性能。幸运的是,许多工具可以让 Windows 保持平稳运行。
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号