首页 / SEO book / 技术 SEO / 响应式图片属性 Srcset 详解

什么是 Srcset

响应式图片属性 Srcset 详解技术 SEO

Srcset 是一种 HTML 图片属性,用于指定在不同场景下加载的图片列表,浏览器会依据屏幕尺寸与分辨率选择最优版本。

什么是 Srcset?

Srcset 是一种 HTML 图片属性,用于指定在不同场景下使用的图片列表。浏览器会依据屏幕尺寸与分辨率选择最优版本,这一概念称为响应式图片(responsive images)。

它看似复杂,且有多种设置方式,下面看一个真实例子:

<img srcset="ahrefs-image-480w.jpg 480w, ahrefs-image-800w.jpg 800w" sizes="(max-width: 600px) 480px, 800px" src="ahrefs-image-800w.jpg" alt="Cool ahrefs illustration">

在此例中,srcset 告知浏览器:视口宽度小于 600 像素时加载 480 像素宽的版本,大于 600 像素时加载更大的 800 像素宽版本。

也可改用像素密度(每 CSS 像素对应的设备像素数)作为条件,而不用尺寸:

<img srcset="ahrefs-image-1x.jpg 1x, ahrefs-image-2x.jpg 2x" src="ahrefs-image-1x.jpg" alt="Another cool ahrefs illustration">

Srcset 为什么对 SEO 重要?

Srcset 对 SEO 重要,因为它让浏览器根据设备特性加载最优的图片尺寸。

图片越大,文件体积越大。例如,在普通手机上加载一张 2400 像素宽、20 MB 的图片毫无意义。srcset 能节省带宽、缩短页面加载时间,而加载速度对移动搜索、桌面搜索乃至 Google 广告都是一个直接的排名因素。

响应式图片的最佳实践

1. 查看 PageSpeed Insights 的建议

PageSpeed Insights 是 Google 提供的免费在线工具,可展示页面的速度实测数据。输入网页 URL 后,它会给出网站速度优化建议,其中包括图片方面的建议。

PageSpeed Insights 针对图片的常见建议包括:更新图片格式以获得更好的压缩、对屏幕外或隐藏的图片采用懒加载,以及为图片设置恰当尺寸以改善加载时间。

2. 使用 Picture 元素进行艺术指导(art direction)

“picture”元素同样能让浏览器根据设备特性显示不同图片。但借助该元素,你可以定义完全不同的图片,而不只是同一张图的不同尺寸版本。

例如,希望在移动设备上显示窄而高的图片,在桌面设备上显示宽图。

<picture> <source media="(min-width: 600px)" srcset="ahrefs-image.jpg, ahrefs-image-2x.jpg 2x"> <img src="ahrefs-image.jpg" alt="cool illustration"> </picture>

上述例子中,当浏览器宽度达到 600px 及以上时(取决于设备像素密度),将显示 ahrefs-image.jpg 或 ahrefs-image-2x.jpg;屏幕宽度小于 600px,或 picture 元素不受支持时,则渲染 img 元素。“img”元素应始终保留。