sourceタグ -複数のフォーマットのメディアファイルを指定する|HTML辞典
<source>タグとは?
<source>
タグは、<video>
や <audio>
タグ内で、複数のフォーマットのメディアファイルを指定するためのタグ です。
ブラウザが対応しているフォーマットを自動的に選択し、適切なメディアを再生します。
基本情報
コンテンツモデル
メディア要素の子要素としてのみ使用可能(<video>
または <audio>
の内部)。
閉じタグの有無
<source>
は単独タグ(空要素)のため、閉じタグ(</source>
)は不要です。
基本的な記述方法(動画)
<video controls>
<source src="video.mp4" type="video/mp4">
<source src="video.webm" type="video/webm">
お使いのブラウザは動画タグをサポートしていません。
</video>
基本的な記述方法(音声)
<audio controls>
<source src="audio.mp3" type="audio/mpeg">
<source src="audio.ogg" type="audio/ogg">
お使いのブラウザはオーディオ要素をサポートしていません。
</audio>
使用できる主な属性
<source>
タグには重要な属性がいくつかあります。
属性名 | 説明 | 例 |
---|---|---|
src | メディアファイルのURLを指定 | <source src="video.mp4"> |
type | メディアのMIMEタイプを指定 | <source src="video.mp4" type="video/mp4"> |
media | メディアの適用条件(CSSのメディアクエリと同様) | <source src="video-hd.mp4" media="(min-width: 800px)"> |
CSSを使ったデザイン変更
<source>
タグ自体はスタイルを適用できませんが、親要素の <video>
や <audio>
にスタイルを適用できます。
video, audio {
width: 100%;
max-width: 640px;
border-radius: 10px;
}
適切な使用例
✅ 複数の動画フォーマットを指定する
<video controls>
<source src="video.mp4" type="video/mp4">
<source src="video.webm" type="video/webm">
<source src="video.ogv" type="video/ogg">
お使いのブラウザは動画タグをサポートしていません。
</video>
✅ 複数の音声フォーマットを指定する
<audio controls>
<source src="audio.mp3" type="audio/mpeg">
<source src="audio.ogg" type="audio/ogg">
</audio>
✅ media
属性を使用して特定の画面サイズで異なる動画を提供する
<video controls>
<source src="video-small.mp4" media="(max-width: 600px)">
<source src="video-large.mp4" media="(min-width: 601px)">
</video>
適切でない使用例(誤った使い方)
❌ <source>
を <video>
や <audio>
の外に記述するのはNG
<!-- NG: <source> を <video> の外に記述 -->
<source src="video.mp4" type="video/mp4">
<video controls></video>
✅ 正しい書き方(<video>
の内部に <source>
を記述)
<video controls>
<source src="video.mp4" type="video/mp4">
</video>
❌ src
を指定しないのはNG
<!-- NG: src属性なし -->
<video controls>
<source type="video/mp4">
</video>
✅ 正しい書き方(src
を指定)
<video controls>
<source src="video.mp4" type="video/mp4">
</video>
<source>タグと他のタグの違い
タグ | 役割 | 特徴 | 適切な用途 |
---|---|---|---|
<source> | メディアのソースを指定 | <video> や <audio> 内で使用 | 互換性向上のための複数フォーマット指定 |
<video> | 動画を再生 | controls でプレイヤー表示 | 動画コンテンツの埋め込み |
<audio> | 音声を再生 | controls でプレイヤー表示 | BGM、音声コンテンツの埋め込み |
<iframe> | 外部コンテンツの埋め込み | YouTubeなどの動画埋め込み | 外部プレイヤーの利用 |
使用上の注意点
✅ <source>
は <video>
または <audio>
内でのみ使用する
- 単独では機能しないため、必ず適切な親要素の中に記述する。
✅ type
属性を指定して、ブラウザが最適なフォーマットを選択できるようにする
- 例:
type="video/mp4"
、type="audio/ogg"
など。
✅ media
属性を活用して、デバイスの条件に応じたメディアを提供する
- 例:
media="(min-width: 800px)"
を使用して、画面サイズに応じた動画を切り替える。
関連タグ
まとめ
<source>
タグは、HTML文書内で <video>
や <audio>
の中でメディアファイルを指定するためのタグ です。
複数のフォーマットを提供することで、ブラウザの互換性を向上させることができます。