Web | レスポンシブデザインで右側に謎の空白ができたときの解決策

APP Web
スポンサーリンク

右側に謎の空白ができる原因は「要素が画面幅をオーバーしている」ことがほとんどです。解決策は、幅指定・余白・overflow設定を見直すことです。


主な原因と解決策

1. 要素の幅が100%を超えている

  • 原因width:100%paddingborder が加わり、実質的に100%以上になっている
  • 解決策
    • box-sizing: border-box; を全体に指定する
    • width:auto; に変更してみる(特にmainやラッパー要素)
* {
  box-sizing: border-box;
}
CSS

2. viewport設定の不足や誤り

  • 原因<meta name="viewport"> が未設定、または不適切
  • 解決策:以下をHTML <head> に追加
<meta name="viewport" content="width=device-width, initial-scale=1.0, user-scalable=no">
HTML

3. 画像や要素が縮小されない

  • 原因:画像やiframeが固定幅で表示されている
  • 解決策max-width:100%; height:auto; を指定
img, iframe {
  max-width: 100%;
  height: auto;
}
CSS

4. white-spaceやflexの影響

  • 原因white-space: nowrap;flex-shrink:0; が効いていて要素が折り返されない
  • 解決策:不要なら削除、または flex-shrink:1; に変更

5. overflowの調整

  • 原因:どうしても特定できない要素がはみ出している
  • 解決策:ラッパー要素に overflow-x:hidden; を指定
body {
  overflow-x: hidden;
}
CSS

🔍 原因特定のコツ

  • 開発者ツールで確認:右余白部分にカーソルを当てて、どの要素が飛び出しているかチェック
  • outlineで可視化:全要素に outline:1px solid red; を一時的に指定すると、はみ出し要素が見つけやすい

まとめ

  • viewport設定を確認
  • box-sizingをborder-boxに統一
  • 画像や要素にmax-width:100%を指定
  • overflow-x:hiddenで最終手段

これらを順に試せば、右側の謎の空白はほぼ解消できます。


👉 よくあるのは「width:100%+paddingでオーバー」か「viewport未設定」です。あなたのケースもまずはこの2点からチェックしてみるとスムーズに解決できるはずです。

Web
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました