← エラー辞典に戻る

HTML

iframeの高さが合わない

iframe の高さが固定されている

こんな症状

iframeの中身に合わせて高さを変えたいのに、スクロールバーが出てしまう。高さ指定の問題だよ。

まず試す

iframe に十分な height を直接指定する(例 height:500px)。

html
<iframe src="content.html" style="width:100%;height:500px;border:none;"></iframe>

これで直らなければ、下の「自分のケース」を確認。

🔍 自分のケースはどれ?

  • スクロールバーが出て中身が見切れる
    → iframe に十分な height を指定する。
  • 中身に合わせて自動で伸ばしたい
    → 同一オリジンなら JS で中身の高さを取得して iframe の height に設定する。
  • 比率で指定したい
    → aspect-ratio で比率指定もできる。

なぜ起きる?

iframeはデフォルトで固定の高さ(150px)を持つよ。中のコンテンツが大きくてもiframe自体は自動で伸びないんだ。CSSでheight:100%にしても親要素の高さが決まっていないと効かないよ。

✕ エラーが起きるコード
<iframe src="content.html"></iframe>
<!-- デフォルト 150px で中身が見切れる -->
✓ 直したコード
<iframe src="content.html" style="width:100%;height:500px;border:none;"></iframe>
<!-- 高さを明示的に指定 -->

✅ 直ったか確認

iframe 内のコンテンツが見切れず、不要なスクロールバーが出なければOK。

🆘 まだ直らないときは

別オリジンの iframe は中身の高さを取得できない(同一オリジンポリシー)。固定高さか postMessage で連携する。

Q&Aで質問する →

この解決法は役立ちましたか?

🔗 関連するエラー

📖 この問題を学べるレッスン

HTMLコース(基礎から)で根本から理解する →

✏️ 手を動かして練習

練習ドリル一覧で実際に書いて確認する →

📝 関連ブログ記事

📖 関連する用語

🚀 HTMLコースで基礎を学ぼう!

エラーの原因を根本から理解するには、基礎を体系的に学ぶのが近道です。完全無料・登録不要。

HTMLコースを始める →

❓ 関連するQ&A