。ザワくんブログ

。ザワくんブログ

webサイトにyoutubeなどをifremeで埋め込もう!

投稿日:2021/8/21

html css

webサイトでyoutubeなど外部ファイルが埋め込まれているのは最近よくありますよね!
ただ表示させる上でサイズなどは少し調整が必要なので、自分でもやってみたいという方に向け書いていきます!今回はyoutubeの動画を参考にやってみます!早速行ってみましょう!
(なお他人のyoutube動画をblogに埋め込むことは問題ないようですが、動画のみ貼るようなblogはグレーゾーンになります。使用の際には気をつけましょう。)

使いたいものを取ってくる

まずはサイトに使いたいyoutubeの動画へアクセスします!
youtubeだと再生画面に下記のような場所があるので「共有」をクリックします!

共有

すると下記のようなページが開かれるので、「埋め込み」をクリックしましょう!

埋め込み

するとiframeが記載されている画面が開かれるので、右下にあるコピーをクリックしましょう!

コピー

あとはこれをhtmlファイルなどに貼るだけなのですが、このままですとサイズが固定されてしまっているので、スマホなどでみた時崩れてしまっている場合があります。今回は画面幅に対応するように作成していきましょう!!

HTML・CSS作成

HTMLに下記のように記述しましょう!

<div class="iframe__content">
  <iframe src="https://www.youtube.com/embed/WnnBdaRLMc8" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture" allowfullscreen></iframe>
</div>

iframeの親に1つdivタグを入れて作成します。また引っ張ってきたiframeにwidthとheightが記載されている場合は削除しましょう!!

次にCSSを記述していきます

.iframe__content{
  width: 100%;
  max-width: 800px;
  margin: 0 auto;
  position:relative;
  height:0;
  padding-bottom: 56.25%;
    
}

.iframe__content iframe{
  position:absolute;
  top:0;
  left:0;
  width:100%;
  height:100%;
}

これを利用すると下記のように使えます!!

ポイントとしては親要素にposition:relativeをかけ、heightを0にし、padding-bottomで高さを取得します。56.25%は動画のアスペクト比が16:9の場合ですね。
子要素はabsoluteを指定し親要素いっぱいに広げます。こんな感じですね!
youtubeだけでなく、GoogleMapなどでも同じ方法が使えて非常に便利ですので、是非覚えておきましょう!!