<source> は画像、音声および動画等のメディアリソースを指定するHTMLタグです。<picture>
、<audio>
、<video>
要素の子要素として使います。source要素の使い方をご紹介します。
HTML要素のタグ名、属性名および属性値は、大文字と小文字のどちらでもよい。source要素の終了タグは省略できる。
<source></source>
<source>
XML形式で終了タグを省略することもできる。
<source />
source要素の開始タグと終了タグの間には何も含めることができない。
以下に示す属性をsource要素に指定できる。
値 | 説明 |
---|---|
image/avif | AVIF 形式の画像 |
image/gif | GIF 形式の画像 |
image/jpeg | JPEG 形式の画像 |
image/png | PNG 形式の画像 |
image/svg+xml | SVG 形式の画像 |
image/webp | WebP 形式の画像 |
<audio controls>
<source src="/media/example.mp3">
</audio>
ウェブブラウザが複数の画像形式に対応している場合、先に出現する 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>
JavaScriptからは HTMLSourceElement インタフェースを通じてsource要素へアクセスできる。
プロパティ | 型 | 説明 |
---|---|---|
src | string | src属性 |
type | string | type属性 |
srcset | string | srcset属性 |
sizes | string | sizes属性 |
media | string | media属性 |
width | number | width属性 |
height | number | height属性 |
Web Hypertext Application Technology Working Group (2022) "Embedded content" HTML Living Standard