masakichi-code

独学エンジニアの技術ブログ

iframeの取得のやり方【楽にレスポンシブ対応できるやり方も紹介】

  • CSS
  • HTML

2023.03.04(土)

iframeの取得のやり方【楽にレスポンシブ対応できるやり方も紹介】

『youtubeやgoogleマップのiframe埋め込みをレスポンシブ対応させたい』『iframe埋め込みのレスポンシブ対応でうまくできない』『iframeの埋め込みで楽にレスポンシブできるやり方があれば知りたい』

こういった疑問に答えます。

本記事の内容

  • ・iframeの取得のやり方(youtube・googleマップ)
  • ・レスポンシブ対応できるiframeの埋め込み方
  • ・もっと楽にレスポンシブ対応できるiframeの埋め込み方

Webエンジニア歴半年
WordPressの運営&立ち上げ70サイト以上かかわっている

こういった私が解説していきます。

1. iframeの取得のやり方(youtube・googleマップ)

  • その①:iframeとは?
  • その②:カスタム投稿のアーカイブ用ファイルを作る
  • その②:youtubeのiframeの取得のやり方
  • その③:googleマップのiframeの取得のやり方

その①:iframeとは?

・そもそもiframeって何?

iframeはインラインフレームと言われるHTMLタグです。
会話では『アイフレーム』と言ったりしますね。

iframeはページの中に、別サイトのページや動画などを表示できるのでかなり便利です。

その②:youtubeのiframeの取得のやり方

・youtubeを開きます

共有したいyoutube動画で『共有』を押します。
iframeの取得のやり方【楽にレスポンシブ対応できるやり方も紹介】01

次に、共有の仕方のポップアップが出てくるので、『埋め込む』を押します。
iframeの取得のやり方【楽にレスポンシブ対応できるやり方も紹介】02

さらに、埋め込み用コードの右下『コピー』を選択します。
iframeの取得のやり方【楽にレスポンシブ対応できるやり方も紹介】03

これでyoutube用のiframeのコピーが出来ました。

youtubeのiframeの取得のやり方は以上ですので、2. レスポンシブ対応できるiframeの埋め込み方へお進みください。

その③:googleマップのiframeの取得のやり方

・googleマップを開きます

iframe埋め込みをしたい場所で『共有』を押します。
iframeの取得のやり方【楽にレスポンシブ対応できるやり方も紹介】04

次に『地図を埋め込む』を押して、『HTMLをコピー』を押します。
iframeの取得のやり方【楽にレスポンシブ対応できるやり方も紹介】05

これでgoogleマップ用のiframeのコピーが出来ました。

2. レスポンシブ対応できるiframeの埋め込み方

  • その①:iframeをそのまま埋め込んだ場合
  • その②:iframeをレスポンシブ対応で埋め込む

その①:iframeをそのまま埋め込んだ場合

・そのままコピペしてみてください

実は、埋め込みコードにwidthとheightが固定値で入っています。
そのため、画面幅を縮めたときにははみ出してしまいます。
さらに、高さが固定なので、いい感じの縦横比を維持できません。

・解決するコードの書き方があります

次で紹介しているのでぜひ、見ていってください。

その②:iframeをレスポンシブ対応で埋め込む

・解決するコードの書き方

以下のコードのようにしてみてください。

iframeの親要素divを作成し、position: relative;にしてpadding-top: 56.25%;を入れます。
56.25%は縦横比16:9を計算した値ですね。

あとはiframeにpostion: absolute;を指定してあげれば、縦横比を守ってレスポンシブ表示が可能になります。

3. もっと楽にレスポンシブ対応できるiframeの埋め込み方

  • その①:aspect比で埋め込める
  • その②:サポートされていないosバーションがあるので注意

その①:aspect比で埋め込める

・実はもっと楽な方法があった

aspect-ratioというcssプロパティがあります。
以下、コードの例です。

この書き方で、iframeをdivタグで囲まなくてもレスポンシブ対応することができますね。

その②:サポートされていないosバーションがあるので注意

・思わぬ落とし穴が。

aspect-ratioによるレスポンシブ対応には注意が必要です。
Safariだと、ios15から導入されているcssプロパティなので、それ以前には効きません。

現時点(2023年3月)ですと、10%近くがios15未満ですね。
iframeの取得のやり方【楽にレスポンシブ対応できるやり方も紹介】06

引用元:https://developer.apple.com/support/app-store/

そのため、2. レスポンシブ対応できるiframeの埋め込み方のpaddingで指定するやり方が無難なようです。
他に良いやり方が見つかりましたら更新していこうと思います。

以上、iframe埋め込みのレスポンシブ対応について紹介しました。