スマホ表示でレイアウトが崩れる原因とすぐできる対処法

スマホでホームページを見ると、

「文字や画像がずれている」
「横にはみ出してスクロールが出てしまう」
「要素が重なってしまう」

こんな経験はありませんか?

パソコンではきれいに見えるのに、スマホだけ崩れるケースはとても多いです。

でも安心してください。
ほとんどの場合、原因はシンプルで簡単に直せます。

この記事では、初心者の方でもすぐできる対処法を分かりやすく紹介するので、ぜひ最後までお読みくださいね!

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

スマホでレイアウトが崩れるよくある原因

まずは、スマホでレイアウトが崩れるよくある原因からお伝えします。

横幅を固定している

よくあるのが、

width: 800px;

のように、幅を決め打ちしているケースです。

パソコンでは問題なくても、
スマホ画面には入りきらず崩れてしまいます。

画像サイズを固定している

画像に、

width: 600px;

など固定サイズを指定していると、
スマホでは、はみ出してしまいます。

表(テーブル)がはみ出している

料金表やデータ表などは、
スマホでとても崩れやすい部分です。

古いレイアウト方法を使っている

floatなど古い方法だけで作っていると、
スマホ対応がしづらくなります。

まず確認したい基本ポイント

次に、まず確認したい基本ポイントをお伝えします。

viewport設定を確認する

HTMLの<head> 部分に、次の記述があるか確認しましょう!

<meta name="viewport" content="width=device-width, initial-scale=1.0">

これが無いと、スマホ表示はほぼ確実に崩れます。

幅が画面に合わせて動くか確認する

ブラウザの幅を縮めたときに、
レイアウトが一緒に縮むかをチェックしてください。

縮まない場合は、固定幅が原因です。

すぐできる対処法(初心者向け)

ここでは、すぐできる対処法をお伝えします。

幅を100%にする

固定している幅は、次のように直しましょう。

.container {
  width: 100%;
  max-width: 100%;
}

これだけでスマホにフィットしますよ。

画像を自動で縮小させる

画像は基本この設定がおすすめです。

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

これで画面サイズに合わせて、画像が調整されます。

表をスマホ対応させる

まずは簡単な方法として、横スクロール対応にします。

.table-wrapper {
  overflow-x: auto;
}

あとは、表を <div class=”table-wrapper”>で囲むだけです。

これで、表の箇所は横スクロールに対応します。

レイアウトを崩れにくくするコツ

レイアウトを崩れにくくするコツもご紹介します。

max-widthを使う

幅を制限したい場合でも、

max-width: 900px;

のようにすると、スマホでは自動で縮みます。

flexboxを活用する

横並びレイアウトは、flexを使うと崩れにくくなります。

.box {
  display: flex;
  flex-wrap: wrap;
}

スマホでも自然に折り返されます。

よくある失敗例

最後に、よくある失敗例をお伝えします。

たとえば、次のような失敗例です。

  • PC表示だけを見て完成だと思ってしまう
  • 一部だけ直して他が崩れたまま
  • スマホでの確認を忘れる

必ずスマホ表示でチェックしましょう!

特に最近は、スマホからのアクセスが多くなっているので、スマホでのチェックは忘れずに行いましょうね。

まとめ|スマホのレイアウト崩れはほとんど直せる

「スマホ表示でレイアウトが崩れる原因とすぐできる対処法」のコンテンツはいかがでしたでしょうか?

スマホで崩れる原因の多くは、

  • 幅の固定
  • 画像サイズ指定
  • 表のはみ出し

です。

これらを

  • 幅を100%にする
  • 画像を自動調整
  • 表を対応させる

だけで、ほとんど解決できます。

ぜひ自分のホームページで試してみてくださいね!

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