<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选择最清晰的图片显示,实现在不同屏幕下都达到最佳显示效果的目的网友回复
为啥所有的照片分辨率提升工具都会修改照片上的图案细节?
js如何在浏览器中将webm视频的声音分离为单独音频?
微信小程序如何播放第三方域名url的mp4视频?
ai多模态大模型能实时识别视频中的手语为文字吗?
如何远程调试别人的chrome浏览器获取调试信息?
为啥js打开新网页window.open设置窗口宽高无效?
浏览器中js的navigator.mediaDevices.getDisplayMedia屏幕录像无法录制SpeechSynthesisUtterance产生的说话声音?
js中mediaRecorder如何录制window.speechSynthesis声音音频并下载?
python如何直接获取抖音短视频的音频文件url?
js在浏览器中如何使用MediaStream与MediaRecorder实现声音音频多轨道混流?