第16回 レスポンシブデザインの基本 – 異なる画面サイズに対応するレスポンシブなデザイン – HTML入門講座

スポンサーリンク
スポンサーリンク

はじめに

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

実際の動作は以下で確認してみてください。

レスポンシブデザインテストアプリ | サイトのモバイル・タブレット表示確認
レスポンシブデザインテストモバイルタブレットデスクトップ※ブラウザ幅が狭いとデスクトップモードが正しく機能しませんのでご注意ください。レスポンシブデザインテストとはこの「レスポンシブデザインテスト」は、スマホ・タブレット・PCといったさまざまなデバイスで、あなたのウェブサイトがどのように表示されるかを簡単にチェックでき...

メディアクエリの基本

メディアクエリは、画面の幅やデバイスの種類に応じて、異なるスタイルを適用するために使います。特定の画面サイズ以下でのみ適用されるスタイルや、特定のデバイスにのみ適用されるスタイルを指定できます。以下は、メディアクエリの基本的な構文です。

@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;
  }
}

以下の表示例では、画面サイズに応じてレイアウトが変わります。

ボックス 1
ボックス 2
ボックス 3
ボックス 4
ボックス 5
ボックス 6

デスクトップでは3つのボックスが横並びになりますが、画面幅が狭くなると、自動的に2つまたは1つのカラムに変わります。

レスポンシブデザインのポイント

  • フレキシブルなグリッド: レイアウトを柔軟に変化させるため、gridflexbox などのレイアウトツールを使用します。
  • メディアクエリ: 異なる画面サイズやデバイスに応じてスタイルを変更するために、メディアクエリを活用します。
  • ビューポートの設定: ウェブページがモバイルデバイスで適切に表示されるように、<meta name="viewport"> タグを使用して、画面幅を制御します。

ビューポートの設定

レスポンシブデザインを正しく適用するためには、<meta name="viewport"> タグをHTMLの <head> セクションに追加する必要があります。このタグは、ページがデバイスの画面幅に応じて拡大・縮小されるのを防ぎ、実際の画面サイズに合わせて表示されるようにします。

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

このタグを追加することで、モバイルデバイスでもページが適切に表示されます。

まとめ

レスポンシブデザインは、現代のウェブ開発において非常に重要な技術です。異なるデバイスに対応するために、メディアクエリを使用してスタイルを適切に調整し、ユーザーに最適な閲覧体験を提供しましょう。次回は、CSSレイアウト技術の一つであるFlexboxを使って、より柔軟なレイアウトを作成する方法について学びます。

HTML入門講座

1. HTMLとは? 基礎と概要

2. HTMLの基本構造と要素

3. テキストの装飾とフォーマット

4. リンクを作成する: ハイパーリンクの基礎

5. 画像を追加する

6. リストとナビゲーションの作成

7. テーブルの作成方法

8. フォームの作成と基本的な使い方

9. フォーム要素の種類と属性

10. メタデータとSEOの基礎

11. コメントとコードの整理

12. HTML5の新しい要素

13. メディア要素の追加: 音声と動画

14. IFrameを使って他のページを埋め込む

15. HTMLとCSSの連携: スタイルの基礎

16. レスポンシブデザインの基本

17. アクセシビリティを考えたHTML

18. HTMLでのデバッグと検証

19. パフォーマンスの最適化

20. HTMLプロジェクトを作成しよう