【发布时间】:2017-07-17 04:39:30
【问题描述】:
我正在尝试实现具有以下宽松要求的full screen responsive image solution
0-600px > 显示小图
601-900px > 显示中等图片
901-2000px > 显示大图
经过一番挖掘,我决定使用以下尺寸:
iPhone 6 > 414x736
ipad > 768x1024
我为每个屏幕尺寸创建了单独的图像(艺术指导目的)并使用了以下 srcset 代码
<img src="/assets/images/414X736/artGallery.jpg"
srcset="/assets/images/414X736/artGallery.jpg 414w,
/assets/images/768x1024/artGallery.jpg 768w,
/assets/images/1920x1080/artGallery.jpg 1920w">
图像具有以下 CSS (因此其行为类似于 background:cover)
img {
display:block;
height:100vh;
width:100vw;
object-fit:cover;
}
我把我的桌面显示器调小了,然后调整到全屏,图像被替换在正确的位置
但是,在我的手机和平板电脑上,它始终显示 1920 年的图像
理想情况下,我想在将浏览器窗口从小到大以及从大到小缩放时替换图像
我对 srcset 的理解是,一旦加载了最大的图片,就不会加载较小的图片了
感谢您的帮助和建议
【问题讨论】:
-
在视网膜显示器上,由于设备像素比,它总是加载最大尺寸的图像
-
并非总是如此,它只是使用像素比计算像素,所以如果你得到 x2 像素比,1000px 将是屏幕上的 500px 宽度
标签: image responsive-images srcset