HTML要素 ・ メディア

<iframe>

別のページを埋め込む

ページの中に、別のWebページを窓のように埋め込む要素です。地図や動画サービスの埋め込みでよく使います。

種類
インライン要素(置換要素)
終了タグ
必須
主な属性
src・title・loading
01

サンプルコード

HTML
1<iframe
2 title="埋め込みの例"
3 srcdoc="&lt;p style=&quot;font-family:sans-serif&quot;&gt;ここは別のHTML文書です。&lt;/p&gt;"
4 width="320" height="100">
5</iframe>
CSS
1iframe {
2 border: 2px dashed #b68235;
3}
02

実行結果

ブラウザでの表示点線の枠の内側が、埋め込まれた別の文書です
03

解説

iframe は "inline frame" の略で、ページの中に別のHTML文書を表示します。通常は src 属性に埋め込むページのURLを書きます。

上の例では、外部サイトの代わりに srcdoc 属性で埋め込む文書を直接書いています。点線の枠の内側が、別の文書として表示されている部分です。

title 属性には、何を埋め込んでいるかを書きます。読み上げソフトがこの名前を読み上げます。

04

応用例・注意点

主な属性

属性説明
src埋め込むページのURL
title埋め込み内容の説明(必須と考える)
loadinglazy で画面に近づくまで読み込まない
sandbox埋め込んだページの機能を制限する
allow全画面表示などの許可
srcdoc埋め込む文書を直接書く

Googleマップを埋め込む

地図サービスの「共有 → 地図を埋め込む」で取得したコードを貼ります。

HTML
1<iframe
2 src="https://www.google.com/maps/embed?pb=..."
3 title="カフェ・ミモザの地図"
4 width="600" height="400"
5 loading="lazy"
6 style="border:0"></iframe>

横幅いっぱいで比率を保つ

aspect-ratio を使うと、動画の埋め込みを16:9のまま伸縮できます。

CSS
1iframe {
2 width: 100%;
3 height: auto;
4 aspect-ratio: 16 / 9;
5}

注意点

  1. 01信頼できないサイトを埋め込まないでください。必要に応じて sandbox で機能を制限します。
  2. 02埋め込みが多いとページが重くなります。画面外のものには loading="lazy" を付けます。
↑↓ 選択Enter 移動Esc 閉じるCtrl K⌘K で開閉