レスポンシブデザインの基礎にして最重要テクニック
Webサイトをスマホやタブレット、PCなど異なる画面幅に対応させるには、CSSの「メディアクエリ」が欠かせません。
ビューポートのサイズに応じてスタイルを切り替えることで、柔軟なデザインを実現できます。現代のWeb制作では必須の知識です。
ブレイクポイントとは、CSSのスタイルを切り替える境界となる画面幅(ピクセル数)のことです。たとえば、ある画面サイズ以下ではスマホ用レイアウトに変更し、それ以上ではPC用のデザインを適用する、という具合に、デバイスごとにスタイルを最適化できます。
一般的に使われるブレイクポイントには以下のような例があります:
- スマホ:〜600px
- タブレット:601px〜1024px
- デスクトップ:1025px〜
このように、画面の幅に応じて適切なスタイルを切り替えることで、すべてのデバイスで見やすく、使いやすいデザインを提供できます。 より細かな調整をしたい場合は、複数の画面幅(ブレイクポイント)に応じたスタイル設定が効果的です。たとえば、PC・タブレット・スマホの3段階に対応することで、より快適なUI/UXを実現できます。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
.responsive-box { background: lightblue; padding: 20px; font-size: 16px; } @media screen and (max-width: 600px) { .responsive-box { background: lightcoral; font-size: 14px; } } |
ブレイクポイントを複数使う場合
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
/* PC(幅 1025px 以上) */ @media screen and (min-width: 1025px) { .responsive-box { background: lightgreen; } } /* タブレット(幅 601px〜1024px) */ @media screen and (min-width: 601px) and (max-width: 1024px) { .responsive-box { background: lightskyblue; } } /* スマホ(幅 600px 以下) */ @media screen and (max-width: 600px) { .responsive-box { background: lightcoral; } } |
min-width派とmax-width派どっちがおすすめ?
書き方にはmin-width派とmax-width派があり、プロジェクト内で統一するのが基本です。
どちらを使うかは制作スタイルや目的によって変わりますが、現在主流なのは「min-width」を使ったモバイルファースト設計です。スマホ向けのスタイルを基本とし、画面が広がるにつれてデザインを上書きしていく形にすることで、無駄な記述が少なく、現代のユーザー環境に適しています。
一方で、「max-width」はデスクトップ版をベースに、画面が狭くなったときの調整に使うスタイルです。古いプロジェクトではこちらが多く見られます。
(個人的には、「max-width」派です。)
新規サイト制作では、保守性・拡張性の観点からもmin-widthを使うのが一般的です。
(モバイルファーストならmin-widthがおすすめ)