はじめに
レスポンシブデザインとは、ウェブページが異なるデバイスや画面サイズに合わせて動的にレイアウトを変化させるデザイン手法のことです。デスクトップ、タブレット、スマートフォンなど、様々なデバイスで最適な表示を行うためには、CSSのメディアクエリを使ってスタイルを調整する必要があります。今回は、レスポンシブデザインの基本的な考え方と、実際に適用する方法について学びましょう。
実際の動作は以下で確認してみてください。

メディアクエリの基本
メディアクエリは、画面の幅やデバイスの種類に応じて、異なるスタイルを適用するために使います。特定の画面サイズ以下でのみ適用されるスタイルや、特定のデバイスにのみ適用されるスタイルを指定できます。以下は、メディアクエリの基本的な構文です。
@media (max-width: 768px) {
/* 画面幅が768px以下の場合のスタイル */
body {
background-color: lightblue;
}
}
この例では、画面の幅が768px以下の場合、背景色が水色に変わります。
レスポンシブデザインの実装例
実際に、画面サイズに応じてレイアウトを変更するレスポンシブデザインの例を見てみましょう。以下のコードでは、デスクトップでは3カラム、タブレットでは2カラム、スマートフォンでは1カラムにレイアウトが変化します。
/* デスクトップ用スタイル */
.grid {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 10px;
}
/* タブレット用スタイル */
@media (max-width: 768px) {
.grid {
grid-template-columns: repeat(2, 1fr);
}
}
/* スマートフォン用スタイル */
@media (max-width: 480px) {
.grid {
grid-template-columns: 1fr;
}
}
以下の表示例では、画面サイズに応じてレイアウトが変わります。
デスクトップでは3つのボックスが横並びになりますが、画面幅が狭くなると、自動的に2つまたは1つのカラムに変わります。
レスポンシブデザインのポイント
- フレキシブルなグリッド: レイアウトを柔軟に変化させるため、
gridやflexboxなどのレイアウトツールを使用します。 - メディアクエリ: 異なる画面サイズやデバイスに応じてスタイルを変更するために、メディアクエリを活用します。
- ビューポートの設定: ウェブページがモバイルデバイスで適切に表示されるように、
<meta name="viewport">タグを使用して、画面幅を制御します。
ビューポートの設定
レスポンシブデザインを正しく適用するためには、<meta name="viewport"> タグをHTMLの <head> セクションに追加する必要があります。このタグは、ページがデバイスの画面幅に応じて拡大・縮小されるのを防ぎ、実際の画面サイズに合わせて表示されるようにします。
<meta name="viewport" content="width=device-width, initial-scale=1.0">
このタグを追加することで、モバイルデバイスでもページが適切に表示されます。
まとめ
レスポンシブデザインは、現代のウェブ開発において非常に重要な技術です。異なるデバイスに対応するために、メディアクエリを使用してスタイルを適切に調整し、ユーザーに最適な閲覧体験を提供しましょう。次回は、CSSレイアウト技術の一つであるFlexboxを使って、より柔軟なレイアウトを作成する方法について学びます。
2. HTMLの基本構造と要素
5. 画像を追加する
7. テーブルの作成方法
9. フォーム要素の種類と属性
10. メタデータとSEOの基礎
11. コメントとコードの整理
12. HTML5の新しい要素
13. メディア要素の追加: 音声と動画
16. レスポンシブデザインの基本
17. アクセシビリティを考えたHTML
18. HTMLでのデバッグと検証
19. パフォーマンスの最適化
20. HTMLプロジェクトを作成しよう