HTML Элемент picture
Элемент HTML <picture>
позволяет отображать разные изображения в зависимости от устройств или размеров экрана.

Элемент HTML <picture>
Элемент HTML <picture>
предоставляет веб-разработчикам дополнительную гибкость при выборе изображений для отображения на разных устройствах или экранах различного размера.
Элемент <picture>
содержит один или несколько элементов <source>
, каждый из которых ссылается на разное изображение через атрибут srcset
. Таким образом, браузер выбирает изображение, наилучшим образом соответствующее текущему виду и/или устройству.
Каждый элемент <source>
имеет атрибут media
, определяющий условия, при которых данное изображение будет выбрано браузером.
Пример:
Показать разные изображения для разных размеров экрана:
<picture>
<source media="(min-width: 650px)" srcset="img_food.jpg">
<source media="(min-width: 465px)" srcset="img_car.jpg">
<img src="img_girl.jpg">
</picture>
Важно: Обязательно указывайте элемент <img>
как последний дочерний элемент внутри элемента <picture>
. Элемент <img>
используется браузерами, которые не поддерживают элемент <picture>
, или если ни один из тегов <source>
не подошел.
Когда использовать элемент <picture>?
Есть две основные причины использовать элемент <picture>
:
1. Оптимизация загрузки (Bandwidth)
Если у вас маленький экран или слабое устройство, нет смысла загружать тяжёлые изображения высокого разрешения. Браузер выберет первый соответствующий элемент <source>
и проигнорирует последующие.
2. Совместимость форматов изображений (Format Support)
Некоторым браузерам или устройствам могут быть недоступны все форматы изображений. Используя элемент <picture>
, вы можете предложить изображения в разных форматах, и браузер выберет первый известный ему формат, игнорируя остальные.
Пример:
Браузер выберет первый опознанный им формат изображения:
<picture>
<source srcset="img_avatar.png">
<source srcset="img_girl.jpg">
<img src="img_beatles.gif" alt="Beatles" style="width:auto;">
</picture>
Примечание: Браузер использует первый элемент <source>
, соответствующий условиям, и игнорирует последующие.