LESSON / WP LOAD

LPをレスポンシブ対応する

完成したPCレイアウトを単純に縮小せず、内容の優先順位を保ってスマートフォン表示へ調整します。

目安 90分 コース進捗 0 / 12

GOAL

このレッスンでできるようになること

  • 内容が崩れる位置からブレークポイントを決められる
  • 横並びを読みやすい順序で縦並びにできる
  • 複数の画面幅でLPを検証できる

レスポンシブ対応は、PC版を最後に小さく縮める作業ではありません。文章を読む順番、画像の役割、CTAの操作しやすさを保ちながら、画面幅に合う配置へ変えます。

デザイン画像にスマートフォン版がない場合も、内容の優先順位から判断し、決めた理由を実装メモへ残します。

現在のCSSから固定値を探す

固定されたwidth、高さ、左右位置、絶対配置を検索します。画面が狭くなったときに、内容がはみ出したり重なったりしないか確認します。

最大幅にはmax-width、画像にはmax-width: 100%を使い、必要のない固定高を外します。

セクションごとに切り替える

広い画面では、文章と画像、複数のカードを横に並べて空間を活用します。

LPを1120pxのパソコン幅で2列と3列に表示した例
LPを1120pxのパソコン幅で2列と3列に表示した例

狭い画面では読む順番を保ったまま1列へ切り替え、操作しやすい余白を確保します。

LPを390pxのスマートフォン幅で1列に表示した例
LPを390pxのスマートフォン幅で1列に表示した例

すべてを1つのブレークポイントで切り替える必要はありません。カードが窮屈になる幅、画像と文章が読みにくくなる幅など、内容に応じて判断します。

@media (max-width: 767px) {
 .feature-list {
  grid-template-columns: 1fr;
 }

 .media {
  grid-template-columns: 1fr;
  gap: 24px;
 }
}

文字と余白を滑らかに調整する

画面幅によって極端に差が出ない値にはclamp()を使えます。ただし、すべての値を計算式へせず、デザイン上の段階が明確ならメディアクエリで切り替えます。

次の画像は、「文字と余白を滑らかに調整する」で扱うコードや構成をブラウザで表示した結果です。

「文字と余白を滑らかに調整する」で扱うコードや構成の表示結果
「文字と余白を滑らかに調整する」で扱うコードや構成をブラウザで表示した結果
.hero__title {
 font-size: clamp(2rem, 1.25rem + 4vw, 4.5rem);
}

.section {
 padding-block: clamp(56px, 8vw, 112px);
}

操作方法の違いを確認する

スマートフォンにはhoverがない場合があります。hoverでだけ表示する情報を作らず、リンクとボタンには十分なタップ領域を確保します。メニューを折りたたむ場合は、JavaScriptがない状態の導線も検討します。

次の図では、「操作方法の違いを確認する」で押さえる違いを左右で比較しています。

「操作方法の違いを確認する」で押さえる違いを左右で比較した図
「操作方法の違いを確認する」で押さえる違いの比較

連続した画面幅で検証する

320px、375px、768px、1024pxのような代表値だけでなく、その間も幅をゆっくり動かします。特定の端末幅だけで成立するCSSになっていないか確認してください。

次の図では、「連続した画面幅で検証する」の仕組みや関係を確認できます。

「連続した画面幅で検証する」の仕組みや関係を示す図
「連続した画面幅で検証する」の仕組みと関係
  • 横スクロールが発生しない
  • 文字やボタンが重ならない
  • 画像の縦横比が変わらない
  • 読む順番が自然である
  • 固定ヘッダーが内容を隠さない

CHECK POINT

完了条件