Тег <picture>
Описание
Тег <picture>
предоставляет разработчикам гибкость в определении ресурсов изображений. Это контейнер для нескольких элементов <source>
и одного элемента <img>
, позволяющий браузеру выбирать наиболее подходящее изображение в зависимости от условий (разрешение экрана, плотность пикселей, поддержка форматов).
<picture>
<source srcset="image-large.jpg" media="(min-width: 1200px)">
<source srcset="image-medium.jpg" media="(min-width: 768px)">
<img src="image-small.jpg" alt="Описание изображения">
</picture>
Ключевые особенности:
- Поддержка адаптивного дизайна (разные изображения для разных экранов)
- Возможность использовать современные форматы (WebP, AVIF)
- Обязательное наличие
<img>
как fallback - Браузер выбирает первый подходящий
<source>
- Поддержка Retina-дисплеев через плотность пикселей (1x, 2x)
<picture>
<source type="image/avif" srcset="image.avif">
<source type="image/webp" srcset="image.webp">
<img src="image.jpg" alt="Пример с разными форматами">
</picture>
Рекомендации по использованию:
- Используйте для критически важных изображений
- Оптимизируйте загрузку - указывайте сначала современные форматы
- Всегда добавляйте атрибут alt для
<img>
- Для простых случаев достаточно
srcset
в<img>
- Тестируйте на реальных устройствах
Тег <picture>
является мощным инструментом для адаптивной загрузки изображений, позволяя значительно улучшить производительность и качество отображения графики на различных устройствах.
Атрибуты
accesskey | Горячая клавиша для активации |
class | CSS-классы для стилизации |
contenteditable | Разрешает редактирование |
data-* | Пользовательские данные |
dir | Направление текста |
hidden | Скрывает элемент |
id | Уникальный идентификатор |
lang | Язык содержимого |
spellcheck | Проверка орфографии |
style | Инлайновые стили |
tabindex | Порядок перехода |
title | Всплывающая подсказка |
translate | Определяет возможность перевода |
Поддержка браузерами
![]() |
![]() |
![]() |
![]() |
![]() |
---|---|---|---|---|
13.0 | 38.0 | 25.0 | 38.0 | 9.1 |