レスポンシブが崩れすぎて心折れかけた話 〜「なんでスマホだけ崩れるの…?」を乗り越えるまで〜

学びの記録

はじめに

コーディングを始めたばかりの頃、
「PC版は完璧!次はスマホ版だ!」と画面幅を狭めた瞬間、
さっきまで綺麗だったサイトが一気に崩れ落ちる——。

  • 横スクロールバーが勝手に出る
  • 画像がはみ出す
  • レイアウトがバラバラ

スマホ表示を見るのが怖くなるほど、何度も心が折れかけました。

「また崩れてる…」
「私ってコーディング向いてないの?」

そんな気持ちにもなりましたが、
原因が分かってくると、あれほど地獄だったレスポンシブが
スッと理解できる瞬間が来たんです。

この記事では、私が実際にハマったレスポンシブ崩れの正体
そこから抜け出すためにやったことをまとめています。
同じように悩んでいる人に届きますように。

最初の壁:PCで完璧なのにスマホで崩れまくる

最初に作ったLPでは、PCでは綺麗に表示できていたのに、
スマホで確認した瞬間、もはや 別サイトレベルの崩壊

実際に起きていた崩れ

  • 見出しが巨大化
  • 画像が横にはみ出す
  • ボタンが中央にならない
  • 横スクロールが発生
  • 文字がギュッと潰される

ディベロッパーツールで幅を変えると
いい感じに縮む場所もあれば、逆にどんどん大きくなって画面を突き抜ける場所もある。

「もう画面幅触りたくない…」
そんな気持ちで毎回ため息をついていました。

崩れていた本当の原因はこれだった

調べてみると、崩れの原因はひとつではなく
複数の小さなミスの積み重なりでした。

【原因①】PC前提でpxを固定しすぎていた

スマホは画面幅が狭いため、PCと同じpxのままだと
はみ出る・押しつぶされる・巨大化する の三拍子。

実際のミス例

  • width: 600px; → スマホ幅では絶対入らない
  • padding: 80px; → 余白が大きすぎて中身が潰れる
  • 見出しのpxをそのまま使って特大化

これで理解したこと

  • 余白は rem
  • 横幅は %max-width
  • 大きいpxはPC用で切り替える

まとめ:pxは強すぎるのでスマホと相性が悪い

【原因②】画像のwidth指定が甘かった

画像に width: 100% を付け忘れると、
PC用の大きな画像がスマホにそのまま登場して暴走。

結果

  • 横スクロールバー
  • セクションごと押し広げられる
  • レイアウト崩壊

その後の対策

  • img { width:100%; height:auto; }
  • 親に max-width
  • object-fit で見た目調整

まとめ:画像は親の言うことを聞かない

【原因③】余白を全部pxで書いていた

初心者の頃は気づきにくいけど、
余白のpxはレスポンシブ崩れの主犯格。

  • PCでは程よい padding: 40px 80px;
    → スマホでは画面の半分を余白が占領

改善点

  • セクション間の余白はPC/SPで別管理
  • 余白は rem
  • スマホだけ余白を少なめに

まとめ:rem+スマホ用に余白を軽くするだけで一気に安定する

【原因④】メディアクエリの書き方が間違っていた

よくあった間違い

  • max-widthmin-width を逆に書く
  • CSSの読み込み順がぐちゃぐちゃ
  • セレクタが複雑でスマホ用が勝てない

正しく理解できたこと

  • max-width: 768px768pxまで(スマホ)
  • min-width: 768px768pxから(PC)
  • 768pxは両方に当たるので
    → 厳密に分けるなら 767 / 768 が安全
  • CSSは下に書かれたものが優先される。

まとめ:「メディアクエリは767/768で区切る」と「下に書いた方が勝つ」

そこからどう乗り越えたのか

原因が分かってからは、
ひとつずつ改善することで崩れが激減しました。

【改善①】pxをやめて%・vw・remを使うようにした

柔らかい単位(相対単位)に変えるだけで、
画面幅に合わせて自然にレイアウトが動くように。

【改善②】画像は絶対にwidth: 100%

画像の暴走が止まり、横スクロールのほぼ全てが解決。

【改善③】スマホファーストに切り替えた

最初からスマホの幅に合わせて作ることで、
調整の連鎖が止まり、PCへの拡張が楽になった。

【改善④】メディアクエリのルールを統一

  • スマホファースト → min-width で拡張
  • CSSは「狭い → 広い」順で記述
  • セレクタはシンプルに

どのCSSが当たっているか迷わなくなり、バグが激減。

レスポンシブが苦手だった私でもできた理由

最終的には、
スマホ表示の仕組みを理解できたこと が大きかったです。

  • flexがどう縮むか
  • widthが何に対して効くか
  • margin/paddingの増え方
  • フォントサイズの変化

これが分かるようになると、
あれほど絶望していたスマホ画面でも
「お、ちゃんと動いてる!」と思えるようになりました。

今、同じようにレスポンシブで悩む人へ

レスポンシブは初心者にとって
最初の大きな壁です。

でも、それは
あなたが下手だからではなく、
スマホ表示にクセがあるだけ

私も何度も心折れかけましたが、
今ではLPもWordPressも普通にレスポンシブ対応できます。

ゆっくり理解していけば、
必ず「分かった!」の瞬間が来ます。

焦らず、一緒に進んでいきましょう。

コメント