我一直在练习图像,以及如何使它们尽可能地响应和预先形成。我使用相同的代码在iMAC 5K Retina 2x显示器和macbook pro 13.3 1x显示器上进行测试。这是我的测试代码:
<img
class="img-responsive img-thumbnail"
src="images/sea-x-small.jpg" alt="Sea"
sizes="(min-width: 769px) 30vw, 100vw"
srcset="images/sea-x-small.jpg 360w,
images/sea-small.jpg 768w,
images/sea-medium.jpg 992w,
images/sea-large.jpg 1200w,
images/sea.jpg 1920w">
事情是在iMac 2x显示器上,无论窗口大小是多少,它总是下载最新的一个是sea.jpg(1920px),但它还会根据窗口大小下载另一个变化。另一方面,macbook只下载最合适的图片,节省了大量不需要的带宽。以下是chrome开发人员工具网络使用情况的两个截图。这是iMac图像。正如你所看到的,它下载了sea-small.jpg,窗口大小为400px,但它仍然下载了sea.jpg和$ 0.currentSrc显示了大图像sea.jpg
这是macbook pro图片:
请注意我考虑了像素密度,但iMac仍然下载最大的1920px图像仍然很奇怪。