测验

为什么要在图像标签中使用 `srcset` 属性?

解释浏览器在评估此属性内容时使用的过程。
主题
HTML
在GitHub上编辑

当您希望根据用户的设备显示宽度为用户提供不同的图像时,您可以使用 srcset 属性 - 为具有视网膜显示屏的设备提供更高质量的图像可以增强用户体验,而为低端设备提供较低分辨率的图像可以提高性能并减少数据浪费(因为提供更大的图像不会有任何可见的差异)。例如:<img srcset="small.jpg 500w, medium.jpg 1000w, large.jpg 2000w" src="..." alt=""> 告诉浏览器根据客户端的分辨率显示 small、medium 或 large .jpg 图像。第一个值是图像名称,第二个值是图像的宽度(以像素为单位)。对于 320px 的设备宽度,将进行以下计算:

  • 500 / 320 = 1.5625
  • 1000 / 320 = 3.125
  • 2000 / 320 = 6.25

如果客户端的分辨率为 1x,则 1.5625 最接近,浏览器将选择与 small.jpg 对应的 500w

如果分辨率是视网膜 (2x),浏览器将使用最接近最小值的分辨率。这意味着它不会选择 500w (1.5625),因为它大于 1,并且图像可能看起来很糟糕。然后,浏览器将选择结果比率更接近 2 的图像,即 1000w (3.125)。

srcset 解决了您希望为窄屏设备提供较小图像文件的问题,因为它们不需要像桌面显示器那样的大图像,并且还可以选择为高密度/低密度屏幕提供不同分辨率的图像。

在GitHub上编辑