+
80
-

html5页面的img图片如何随着不同的dpi始终显示清晰的图片?

html5页面的img图片如何随着不同的dpi始终显示清晰的图片?




网友回复

+
0
-
1. 为img标签指定多个src属性,每个src对应一张不同清晰度的图片:
<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选择最清晰的图片显示,实现在不同屏幕下都达到最佳显示效果的目的
我知道答案,我要回答