【初心者向け】HTML、CSSでiframeを水平方向に中央揃えする方法3選

2024-05-16

HTML、CSS、iframe を使って iframe を水平方向に中央揃えする方法

方法 1: display: flex と margin: auto を使用する

この方法は、最も簡単でモダンな方法です。

<div class="container">
  <iframe src="https://example.com"></iframe>
</div>
.container {
  display: flex;
  justify-content: center;
}

方法 2: text-align: center を使用する

<div class="container">
  <iframe src="https://example.com"></iframe>
</div>
.container {
  text-align: center;
}

方法 3: margin: 0 auto を使用する

この方法は、iframe 自体に margin: 0 auto を設定する方法です。

<iframe src="https://example.com" style="margin: 0 auto;"></iframe>

補足

  • 上記の方法は、いずれも iframe が親要素よりも小さい場合にのみ有効です。iframe が親要素よりも大きい場合は、横にスクロールバーが表示されます。
  • レスポンシブデザインに対応するには、メディアクエリを使用して、さまざまな画面サイズに応じて iframe のサイズを変更する必要があります。
  • iframe のコンテンツにスクロールバーが表示されるのを防ぐには、height 属性を設定する必要があります。



方法 1: display: flex と margin: auto を使用する

HTML

<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Iframe を中央揃え</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <div class="container">
    <iframe src="https://www.youtube.com/embed/VIDEO_ID" width="560" height="315"></iframe>
  </div>
</body>
</html>

CSS

.container {
  display: flex;
  justify-content: center;
}
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Iframe を中央揃え</title>
  <link rel="stylesheet" href="style.css">
</head>
<body>
  <div class="container">
    <iframe src="https://www.youtube.com/embed/VIDEO_ID" width="560" height="315"></iframe>
  </div>
</body>
</html>
.container {
  text-align: center;
}
<!DOCTYPE html>
<html lang="ja">
<head>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <title>Iframe を中央揃え</title>
</head>
<body>
  <iframe src="https://www.youtube.com/embed/VIDEO_ID" width="560" height="315" style="margin: 0 auto;"></iframe>
</body>
</html>

説明

  • 上記のコードでは、VIDEO_ID を実際の YouTube 動画の ID に置き換える必要があります。
  • iframe の幅と高さを必要に応じて変更できます。
  • 上記のコードは、HTML ファイルと CSS ファイルを別々に作成する必要があります。



iframe を水平方向に中央揃えするその他の方法

table 要素を使用する

<table>
  <tr>
    <td><iframe src="https://example.com"></iframe></td>
  </tr>
</table>

position: absolute と left: 50% を使用する

<iframe src="https://example.com" style="position: absolute; left: 50%; transform: translateX(-50%);"></iframe>

flexbox の justify-content: center と align-items: center を使用する

<div class="container">
  <iframe src="https://example.com"></iframe>
</div>
.container {
  display: flex;
  justify-content: center;
  align-items: center;
}

grid レイアウトを使用する

<div class="container">
  <iframe src="https://example.com"></iframe>
</div>
.container {
  display: grid;
  place-items: center;
}

これらの方法は、それぞれ異なるメリットとデメリットがあります。最適な方法は、状況によって異なります。

その他の考慮事項


html css iframe


window.getComputedStyle() で要素に適用されている CSS スタイルを取得する方法

このチュートリアルでは、JavaScript と jQuery を組み合わせて、特定の要素に適用されているすべての CSS スタイルを取得する方法を説明します。この知識は、Web 開発における様々な場面で役立ちます。例えば、要素のデザインを動的に変更したり、デバッグを行ったりする際に役立ちます。...


【徹底解説】HTMLとCSSで要素を非表示にする全方法:状況に合わせた最適な方法とは?

ウェブページを作成する際、特定の要素を非表示にすることはよくある操作です。しかし、単に要素を削除してしまうと、レイアウトが崩れてしまうことがあります。そこで今回は、要素を非表示にしつつ、スペースを空けずに他の要素を配置する方法について、HTMLとCSSを用いて解説します。...


レスポンシブデザインで小数点付きwidthはNG? 代替方法で実現する安定レイアウト

はい、HTML要素のwidth値に小数点を含む値を指定することは有効ですが、ブラウザや状況によってレンダリング結果が異なる場合があります。小数点付きのwidth値を使用する際には、以下の点に注意する必要があります。ブラウザごとの挙動主要なブラウザ(Chrome、Firefox、Safari、Edgeなど)は、小数点以下の値を解釈し、ピクセル単位でレンダリングしようとします。しかし、ブラウザやデバイス、OS、画面解像度などによって、実際にレンダリングされるピクセル値が小数点以下切り捨てられたり、四捨五入されたりする場合があります。...


CSS ハック: 古い Internet Explorer でのレンダリングの不具合を回避する方法

これは、古いバージョンの Internet Explorer でレンダリングの不具合が発生していた場合に、そのバグを回避するために使用されていた CSS ハックです。具体的には、box-sizing プロパティが導入される以前、Internet Explorer は要素の幅を計算する方法が異なっていました。\9 ハックはこの違いを補い、古い Internet Explorer でも他のブラウザと同様に要素の幅をレンダリングできるようにしていました。...


HTMLテーブルにおける「セル幅をコンテンツに合わせる」:完全ガイド

CSSの table-layout プロパティを使用するこの方法は、最も簡単で汎用性の高い方法です。table-layout プロパティを auto に設定することで、ブラウザがテーブルの幅と列幅を自動的に調整します。各セルに width: auto を設定する...