HTML-элемент <picture>
служит контейнером для одного или более элементов {{HTMLElement("source")}} и одного элемента {{HTMLElement("img")}} для обеспечения оптимальной версии изображения для различных размеров экрана. Браузер рассмотрит каждый из дочерних элементов <source>
и выберет один, соответствующий лучшему совпадению; если совпадений среди элементов <source>
найдено не будет, то будет выбран файл, указанный атрибутом {{htmlattrxref("src", "img")}} элемента <img>
. Затем выбранное изображение отображается в пространстве, занятом элементом <img>
.
Чтобы выбрать оптимальное изображение, {{Glossary("user agent")}} анализирует атрибуты {{htmlattrxref("srcset", "source")}}, {{htmlattrxref("media", "source")}}, и {{htmlattrxref("type", "source")}} элемента <source>
и выбирает совместимое изображение, которое наилучшим образом соответствует текущему макету страницы, характеристикам устройства отображения и т. д.
Элемент <picture>
часто используют для того, чтобы обеспечить HiDPI (Retina)-версию изображений для дисплеев с высоким разрешением, а также для добавления других форматов изображений, не поддерживаемых всеми браузерами.
Категории контента | Потоковый контент, фразовый контент, встроенный контент |
---|---|
Разрешённый контент | Ноль или более элементов {{HTMLElement("source")}}, затем один элемент {{HTMLElement("img")}}, при необходимости смешанный с элементами поддержки сценариев. |
Пропуск тегов | Нет. Открывающий и закрывающий тег являются обязательными. |
Разрешённые родители | Любой элемент, который разрешает встроенный контент |
Разрешённые ARIA roles | Нет |
DOM interface | {{domxref("HTMLPictureElement")}} |
Этот элемент содержит только универсальные атрибуты.
Эти примеры демонстрируют влияние различных атрибутов элемента {{HTMLElement("source")}} на выбор изображения, которое будет отображаться при их использовании внутри тега <picture>
.
media
Атрибут media
позволяет определить медиавыражение, которое веб-браузер будет анализировать для выбора элемента {{HTMLElement("source")}}. Если медиавыражение определяется как ложное (false)
, то элемент {{HTMLElement("source")}} пропускается.
<picture> <source srcset="mdn-logo-wide.png" media="(min-width: 600px)"> <img src="mdn-logo-narrow.png" alt="MDN"> </picture>
type
Атрибут type
позволяет вам обозначить MIME-тип данных, указанных в атрибуте srcset
элемента {{HTMLElement("source")}}. Если браузер не поддерживает данный тип, то элемент {{ HTMLElement("source")}} опускается.
<picture> <source srcset="mdn-logo.svg" type="image/svg+xml"> <img src="mdn-logo.png" alt="MDN"> </picture>
Спецификация | Статус | Комментарии |
---|---|---|
{{SpecName('HTML WHATWG', 'embedded-content.html#the-picture-element', '<picture>')}} | {{Spec2('HTML WHATWG')}} | Первоначальное определение |
{{Compat("html.elements.picture")}}