<picture>は画像のセットを表すHTMLタグである。Webブラウザに応じて画像フォーマットを使い分けることができる。
HTML要素のタグ名、属性名および属性値は、大文字と小文字のどちらでもよい。picture要素の終了タグは省略できない。
<picture>
<!-- Zero or more source elements, followed by one img element -->
</pictur>
picture要素の開始タグと終了タグの間には、以下に示す順番で要素が出現する。
ウェブブラウザが複数の画像形式に対応している場合、先に出現する source 要素が優先される。
<picture>
<!-- AVIFに対応しているブラウザではAVIF画像を表示する -->
<source srcset="/images/example.avif" type="image/avif">
<!-- AVIFに対応していないブラウザではWebP画像を表示する -->
<source srcset="/images/example.webp" type="image/webp">
<!-- どちらにも対応していないブラウザではJPEG画像を表示する -->
<img src="/images/example.jpg">
</picture>
以下に示す属性をpicture要素に指定できる。
JavaScriptからは HTMLPictureElement インタフェースを通じてpicture要素へアクセスできる。
プロパティ | 型 | 説明 |
---|---|---|
accessKey | string | accessKey属性 |
accessKeyLabel | string | 要素に割り当てられたアクセスキー(読取り専用) |
contentEditable | string | contenteditable属性 |
isContentEditable | boolean | この要素が編集できるかどうか(読取り専用) |
dataset | DOMStringMap | カスタムデータ属性 |
dir | string | dir属性 |
draggable | boolean | draggable属性 |
innerText | string | ノードに描画されるテキスト |
lang | string | lang属性 |
style | string | style属性 |
tabIndex | number | tabIndex属性 |
title | string | title属性 |
Web Hypertext Application Technology Working Group (2022) Embedded content HTML Living Standard