TOP TOP

メディアクエリとは?レスポンシブデザインに対応した書き方や7つのできることを紹介

更新日

「メディアクエリって、レスポンシブ対応で使うみたいだけど、どういう仕組み?」
「CSS初心者だけど、画面サイズごとにスタイルを変える書き方が知りたい」

このような疑問をお持ちではないでしょうか?

本記事では、メディアクエリの基本である「メディアタイプ」や「メディア特性」から、HTMLやCSSでの具体的な記述方法などを詳しく解説します。

Stock Sun

弊社StockSunは、多くのシステム開発で実績を持つ認定パートナーと提携し、貴社の魅力を引き出すチームを提供します。

オンライン相談は無料です。貴社の魅力を引き出す戦略を聞きに行きましょう!

\システム開発のプロが戦略をご提案/

【無料】システム開発の相談をする
StockSun編集部

StockSun編集部

StockSun編集部

StockSun株式会社は、一定以上のスキルを持つフリーランスを集めたフリーランス組織。
各業界で目覚ましい実績を上げているパートナー陣が品質担保し、クライアントの事業課題解決を目指してサポートしている。

メディアクエリとは?

メディアクエリとは?

メディアクエリは、ユーザーのデバイスや画面サイズ、向きに応じて、適用するCSSを切り替える仕組みです。

以前のCSS2では「画面用」「印刷用」の大まかな分類しかできませんでしたが、CSS3では画面幅などの具体的な条件も指定できるようになり、細かいスタイル調整が可能になりました。

たとえば「画面幅が〇〇px以下の場合はこのCSSを適用する」などの指定ができ、柔軟なデザイン対応が実現します。

メディクエリの仕組みにより、1つのHTMLファイルでもパソコン・スマートフォン・タブレットの異なる端末に合わせた表示ができるようになり、多くのWebサイトで採用されています。

メディアクエリの基本構文は、@media メディアタイプ and (メディア特性) { /* CSS */ } の形式です。

内部対策を意識したレスポンシブ化はSEO評価にもつながります。SEO内部対策に関しては以下の記事を参考にしてください。

関連記事:SEOの内部対策とは?内部対策20のチェックリストと使えるチェックツールを徹底解説【StockSun独自のチェックシートを無料提供中】

メディアタイプとは

メディアタイプは、メディアクエリで「どの種類の媒体(デバイス)にスタイルを適用するか」を指定する基本的な分類です。Web制作で主に使われる推奨タイプは以下の通りです。

  • all:すべてのデバイスが対象
  • screen:パソコン、タブレット、スマートフォンなど、画面を持つデバイスが対象
  • print:印刷時や印刷プレビューが対象
  • speech:音声読み上げデバイス(スクリーンリーダーなど)が対象

過去にはtv(テレビ)、handheld(携帯端末)などもありましたが、現在は使われていません。

メディア特性とは

メディア特性は、メディアタイプで指定した媒体が持つ、より具体的な特徴や状態を条件として指定する仕組みです。画面の幅や高さなどの情報を使って、スタイルの適用条件を細かく設定できます。

よく使われるメディア特性は以下の通りです。

  • width:ビューポート(ブラウザ表示領域)の幅
  • height:ビューポートの幅
  • min-width / max-width:ビューポートの最小幅、最大幅
  • orientation: デバイスの向き(縦portrait / 横landscape)
  • aspect-ratio: ビューポートの幅と高さの比率(例: 16/9)
  • resolution: 画面の解像度(例: 192dpi)
  • prefers-color-scheme: OSのカラーモード設定(light / dark)
  • prefers-contrast: OSのコントラスト設定(高コントラストなど)

上記の特性をandなどの演算子で組み合わせると、「画面幅が768px以上で、かつ横向きの時」のような、詳細な条件指定が可能になります。

演算子とは

演算子は、メディアクエリ内で複数の条件を結びつけたり、条件を否定したりするために用いる記号やキーワードです。主に論理演算子、比較演算子 の2つがあります。

論理演算子

  • and:条件を「かつ」でつなぐ
  • , (カンマ):条件を「または」でつなぐ
  • not:条件を否定する
  • only:古いブラウザ向け

比較演算子 

  • > (より大), < (より小), >= (以上), <= (以下)

上記の演算子を使いこなすことで、ターゲットとするデバイスや状況に合わせたスタイル調整が、正確に行えます。

弊社StockSunは、多くのシステム開発で実績を持つ認定パートナーと提携し、貴社の魅力を引き出すチームを提供します。

オンライン相談は無料です。貴社の魅力を引き出す戦略を聞きに行きましょう!

\システム開発のプロが戦略をご提案/

【無料】システム開発の相談をする

メディアクエリの書き方

メディアクエリの書き方

メディアクエリを実際にWebサイト制作で使うには、主に2つの記述方法があります。

  • HTMLでメディアクエリを書く方法
  • CSSでメディアクエリを書く方法

コード例も交えながら説明するので、ぜひ参考にしてください。

HTMLでメディアクエリを書く方法

HTMLファイル内でメディアクエリを指定する方法は、外部CSSファイルを読み込むを利用する仕組みです。

基本的な記述は以下のようになります。<head>タグ内に記述します。

<!– 例: 画面幅が 480px 以下の場合に small.css を読み込む –>

<link rel=”stylesheet” href=”small.css” media=”screen and (max-width: 480px)”>

上記の方法のメリットは、画面サイズなどの条件ごとにCSSファイルを完全に分離できる点です。例えば、スマートフォン用、タブレット用、パソコン用とCSSファイルを分け、それぞれの<link>タグのmedia属性で読み込む条件を指定できます。

<!– スマートフォン用 (幅480px以下) –><link rel=”stylesheet” href=”mobile.css” media=”screen and (max-width: 480px)”>
<!– タブレット用 (幅481px~1024px) –><link rel=”stylesheet” href=”tablet.css” media=”screen and (min-width: 481px) and (max-width: 1024px)”>

ファイルを分けることで管理しやすくなる一方、読み込むファイル数が増えるとページの表示速度にわずかに影響が出る可能性も考慮する必要があります。

スマートフォンなどでメディアクエリを正しく機能させるには、HTMLの<head>内にviewport(表示領域)を設定する<meta>タグの記述が必要です。

<meta name=”viewport” content=”width=device-width, initial-scale=1″>

width=device-widthは、ページの表示幅をデバイスの画面幅に合わせるもので、initial-scale=1は、初期のズーム倍率を等倍にする設定です。

CSSでメディアクエリを書く方法

CSSファイル内にメディアクエリを記述する一般的な方法は、ルールを使用するやり方です。上記の方法では、1つのCSSファイルの中に、さまざまな条件に応じたスタイル定義をまとめて記述できます。

基本的な書き方は以下の通りです。

/* 画面幅が600px以下の場合に適用されるスタイル */@media screen and (max-width: 600px) {  body {    font-size: 14px; /* 文字サイズを小さくする */  }}

@media 条件 { … } の波括弧 {} の中に、条件が真(true)のときに適用したい通常のCSSルール(セレクタとプロパティ)を記述します。関連するスタイルを1つのファイルに集約できるため、管理がしやすいのがメリットです。

@mediaルールを使う際の設計の考え方として、主にモバイルファーストとデスクトップファーストの2つのアプローチがあります。

モバイルファーストは、スマートフォン向けのスタイルを基本(デフォルト)とし、パソコンと画面が大きくなるにつれてスタイルを上書きしていく方法です。

/* ベース (スマートフォン) */.container { width: 95%; }/* 768px以上 (タブレット) */@media (min-width: 768px) { .container { width: 90%; } }

デスクトップファーストはパソコン向けのスタイルを基本とし、max-widthを使って画面が小さくなるにつれてスタイルを上書きしていく方法です。

/* ベース (パソコン) */.container { width: 80%; }/* 1023px以下 (タブレット) */@media (max-width: 1023px) { .container { width: 90%; } }

メディアクエリでできる7つのこと

メディアクエリでできる7つのこと

ここでは、メディアクエリの代表的な活用例を7つ紹介します。

  • デバイスに合わせたレイアウト切り替え
  • フォントサイズや行間の調整
  • 画像の表示サイズの端末最適化
  • ナビゲーションメニューの表示形式を変更
  • 表示・非表示の切り替えで見せたい情報を変更
  • 印刷用のスタイルを指定
  • カラーモードへの対応

上記の使い方を知っておけば、画面サイズや利用環境に応じた柔軟なサイト設計がしやすくなります。では、それぞれの内容を具体的に見ていきましょう。

デバイスに合わせたレイアウト切り替え

メディアクエリの基本的な活用法は、閲覧デバイスの画面幅に応じてページのレイアウト構造を変更するときです。パソコンでは3カラム、スマートフォンでは1カラムのように、コンテンツの配置を最適化できます。

max-widthやmin-widthでブレイクポイント(レイアウトが変わる画面幅)を指定し、CSSのdisplay: grid;やdisplay: flex;、widthなどの値を変更して実現します。上記の設定をすれば、小さな画面でもコンテンツが縦に並び、見やすく操作しやすい表示を提供できます。

サイトがモバイルで見やすいか(モバイルフレンドリーか)はSEO評価にも関わる部分です。

モバイルフレンドリーなサイトに関して、詳しく知りたい方は以下の記事を参考にしてください。

関連記事:モバイルフレンドリーとは?SEOへの影響と対応コンテンツを作成する9つの方法 | StockSun株式会社

フォントサイズや行間の調整

画面サイズに応じて、文字の大きさ(font-size)や行の高さ(line-height)を調整し、テキストの読みやすさを最適化できます。

メディアクエリで「画面幅〇〇px以下ならフォントサイズを14pxに」のように指定すれば、どのデバイスでも快適な文字サイズを提供できます。画面が小さくても読みやすくなるよう調整すれば、ユーザーにとって快適な閲覧環境につながるでしょう。

画像の表示サイズの端末最適化

ページ内の画像の表示サイズを、閲覧しているデバイスの画面幅に合わせて調整できます。大きな画面では画像を大きく、小さな画面では適切なサイズに縮小表示させることが可能です。

CSSで画像の幅をwidth: 100%; height: auto;のように指定し、親要素の幅に合わせて自動調整されるようにするのが基本です。メディアクエリと組み合わせることで、レイアウトに応じた画像の表示制御や、高解像度ディスプレイ向けに解像度の高い画像へ切り替える対応も行えます。

ナビゲーションメニューの表示形式を変更

サイト案内役のナビゲーションメニューも、画面サイズに応じて表示形式を変更できます。パソコンではヘッダーに横並び表示されるメニューも、スマートフォンではスペースが足りません。

メディアクエリを使い、スマートフォン表示時はメニューを隠し、タップすると開く「ハンバーガーメニュー」に切り替えるのが一般的です。

ハンバーガーメニューを使用すれば、限られた画面スペースを有効活用しつつ、必要な情報へのアクセスを確保できます。

表示・非表示の切り替えで見せたい情報を変更

特定の画面サイズのときだけ、ページ内の一部の要素を表示させたり、逆に隠したりができます。上記の方法は、CSSのdisplay: block;、display: none;プロパティを使って制御可能です。

例えば、パソコンでは表示している詳細情報や補足情報を、スマートフォンでは非表示にして主要なコンテンツを優先させたり、逆にスマートフォン限定で電話発信ボタンを表示させたりできます。デバイスの特性やユーザーの利用状況に合わせて、表示する情報を取捨選択し、最適化された情報提供を目指せます。

印刷用のスタイルを指定

Webページを印刷する際に、画面表示とは異なる印刷に適した見た目の変更が可能です。上記の方法はメディアタイプprintを使い、@media print { … }内に印刷用のCSSを記述します。

印刷時には不要なヘッダー、フッターなどを非表示(display: none;)にします。また、背景色や画像を印刷しない設定にしたり、印刷に適したフォントサイズや余白を指定したりも可能です。このように設定すれば、紙でも読みやすくなり、インクや用紙の無駄も抑えられます。

カラーモードへの対応

OSの表示設定に合わせて、Webサイトの配色を自動で切り替えが可能です。メディア特性prefers-color-schemeを使います。

@media (prefers-color-scheme: dark) 内に、背景を暗く、文字色を明るくするなどのダークモード用スタイルを指定しましょう。ユーザーの設定に合わせて表示を切り替えることで、暗い場所でも目が疲れにくくなり、見やすさが向上します。

弊社StockSunは、多くのシステム開発で実績を持つ認定パートナーと提携し、貴社の魅力を引き出すチームを提供します。

オンライン相談は無料です。貴社の魅力を引き出す戦略を聞きに行きましょう!

\システム開発のプロが戦略をご提案/

【無料】システム開発の相談をする

メディアクエリの活用が難しいなら「StockSun株式会社」におまかせください!

メディアクエリを使えば、画面サイズや端末に合わせた柔軟なデザイン調整が可能になります。レイアウトや文字サイズ、印刷対応など、多くの場面で活用できるため、メディアクエリはレスポンシブ設計に欠かせません。

自分で対応するのが難しいと感じた場合は、専門家に相談するのも一つの方法です。

Stock Sun

弊社StockSunは、多くのシステム開発で実績を持つ認定パートナーと提携し、貴社の魅力を引き出すチームを提供します。

オンライン相談は無料です。貴社の魅力を引き出す戦略を聞きに行きましょう!

\システム開発のプロが戦略をご提案/

【無料】システム開発の相談をする
プロに無料相談をする

お仕事のご依頼・ご相談

各Web領域に精通したコンサルタントに無料でご相談可能です。デジマ支援は「日本一競争が激しいStockSun」にお任せください。

会社資料のダウンロード

まずは社内で検討したい方、情報取集段階の方はご自由にダウンロードください。非常識な営業等はございませんのでご安心ください。