<img src="low_res.jpg"
srcset="mid_res.jpg 2x, high_res.jpg 3x"
sizes="(max-width: 600px) 90vw,
(max-width: 1000px) 45vw,
30vw"
alt="...">
- src指定默认加载的图片,适用于低清晰度屏幕。
- srcset指定高清晰度屏幕下加载的图片,2x和3x后缀表示在2倍和3倍屏幕下加载。- sizes指定在不同视口宽度下img占据的宽度,帮助浏览器选择合适的图片加载。
2. 使用picture标签选取合适的img来显示:
<picture>
<source media="(min-width: 650px)" srcset="img_large.jpg">
<source media="(min-width: 465px)" srcset="img_medium.jpg">
<img src="img_small.jpg" alt="...">
</picture>
picture内可以有多个source,浏览器会选择第一个匹配的source对应的img显示。
3. 使用CSS的background-image并指定不同的背景图片:.image {
background-image: url(low_res.jpg);
}
@media (min-resolution: 2dppx) {
.image {
background-image: url(mid_res.jpg);
}
}
@media (min-resolution: 3dppx) {
.image {
background-image: url(high_res.jpg);
}
}
通过媒体查询检测屏幕dpi,选择不同的背景图片显示,实现响应式图片效果。
以上三种方法都可以使用响应式图片技术,根据屏幕dpi选择最清晰的图片显示,实现在不同屏幕下都达到最佳显示效果的目的网友回复