CSSで横幅を画面いっぱいにする方法|はみ出しを防ぐ基本設定

ホームページを作っていると、

・横にスクロールバーが出てしまう
・画面いっぱいに表示したいのに、左右に余白が残る
・スマホだけレイアウトが崩れる

こうした悩みはとても多いです。

そこでこの記事では、CSS初心者でも分かるように、
横幅を画面いっぱいにする方法と、はみ出しを防ぐ基本設定を解説します。

横幅の崩れには、ほぼ決まった原因があるので、ぜひ最後までご覧くださいね!

このページを読んでわかること

CSSで横幅がうまく合わないよくある原因

まずは、CSSで横幅がうまく合わないよくある原因からご紹介します。

widthを固定している

.box {
  width: 1000px;
}

このような指定は、スマホでは画面からはみ出します。

大きな画像や表が原因

画像や表は、何もしないと横にはみ出しやすいです。

bodyや親要素の設定を見ていない

親の幅が決まっていると、子要素もそれ以上広がりません。

CSSで横幅を画面いっぱいにする基本の考え方

次に、CSSで横幅を画面いっぱいにする基本の考え方をお伝えします。

基本はとてもシンプルです。

  • 画面いっぱいにしたい → 100%
  • はみ出しを防ぎたい → max-width

「画面の幅」と「要素の幅」を分けて考えるのがポイントです。

width: 100% を使った基本設定

ここでは、width: 100% を使った基本設定をお伝えします。

まずは、基本形です。

.container {
  width: 100%;
}

これで、親要素の横幅いっぱいに広がります。

よくある勘違い

width: 100% は、
画面いっぱいではなく、親要素いっぱい です。

max-widthを使ってはみ出しを防ぐ方法(重要)

max-widthを使ってはみ出しを防ぐ方法をご紹介します。

横スクロールの一番多い原因は、画像です。

img {
  max-width: 100%;
  height: auto;
}

これを入れるだけで、

  • 画面より大きい画像
  • スマホではみ出す画像

を防ぐことができます。

body・htmlの横スクロールを防ぐ設定

ここでは、body・htmlの横スクロールを防ぐ設定をお伝えします。

初期余白を消す

body {
  margin: 0;
}

bodyには、最初から余白が入っています。
これを消すと、左右のズレが減ります。

横スクロールを止める方法

body {
  overflow-x: hidden;
}

どうしても原因が分からないときの、最終手段として使います。

表(テーブル)が横にはみ出るときの対処法

表(テーブル)が横にはみ出るときの対処法をお伝えします。

表は、スマホでははみ出しやすいです。

.table-wrap {
  overflow-x: auto;
}
<div class="table-wrap">
  <table>
    <!-- 表 -->
  </table>
</div>

これで、表だけ横スクロールできるようになります。

スマホで横スクロールが出るときのチェックポイント

スマホで横スクロールが出るときのチェックポイントをお伝えします。

横スクロールが出たら、次を確認しましょう。

  • widthをpxで固定していないか
  • 画像にmax-widthがあるか
  • 表やボックスがはみ出していないか

ほとんどの場合、ここで見つかります。

よくある失敗と直し方

よくある失敗と直し方をご紹介します。

width: 100vw を使っている

.box {
  width: 100vw;
}

👉 スクロールバー分ではみ出すことがあります。
基本は 100% を使いましょう。

padding込みで横幅が大きくなっている

.box {
  width: 100%;
  padding: 20px;
}

👉 padding分ではみ出すことがあります。

1か所だけ固定幅が残っている

👉 全体を見直すと、原因が見つかります。

初心者向けの横幅設定まとめ(コピペ用)

最後に、初心者向けの横幅設定まとめをご紹介します。

基本レイアウト

.container {
  width: 100%;
}

画像用(必須)

img {
  max-width: 100%;
  height: auto;
}

bodyの基本設定

body {
  margin: 0;
}

まとめ

CSSで横幅を画面いっぱいにする方法|はみ出しを防ぐ基本設定はいかがでしたでしょうか?

CSSで横幅を整えるポイントは、とてもシンプルです。

✔ 固定幅を使いすぎない
✔ widthとmax-widthを使い分ける
✔ 画像と表を必ずチェック

この3つを意識するだけで、
横スクロールの悩みはかなり減りますよ。

横スクロールが出てしまうと、とても使いづらいホームページになってしまいます。

パソコンとスマホで、横スクロールが出ていないことを確認してみてくださいね!
(トップページだけでなく、個別ページも必ず確認しましょう!)

このページを読んでわかること