CSSの基礎知識

メディアタイプとメディアクエリ

CSSを出力デバイス別に指定するには「メディアタイプ」を指定します。また、CSS3からはデバイスの種類をより具体的に指定できる「メディアクエリ」が定義されました。

メディアタイプの種類

キーワード デバイスの種類
all すべてのデバイス
braille 点字用ディスプレイ
embossed 点字用プリンター
handheld モバイルデバイス
print プリンター
projection プロジェクター
screen ディスプレイ
speech 音声出力デバイス
tty 固定幅フォントで出力するデバイス
tv テレビ

以下の例では、link要素でCSSを組み込むときにmedia属性で該当するメディアを指定しています。テレビ用には「tv.css」が、プリンター用には「print.css」が組み込まれます。

HTML
<link href="tv.css" rel="stylesheet" type="text/css" media="tv"> 
<link href="print.css" rel="stylesheet" type="text/css" media="print">

メディアクエリの種類

キーワード 役割
width ディスプレイの幅。max-、min-の接頭辞で上限・下限を指定可。
height ディスプレイの高さ。max-、min-の接頭辞で上限・下限を指定可。
device-width 表示領域の幅。max-、min-の接頭辞で上限・下限を指定可。
device-height 表示領域の高さ。max-、min-の接頭辞で上限・下限を指定可。
orientation デバイスの向き。値は縦向きがportrait、横向きがlandscape。
aspect-ratio ディスプレイの縦横比。max-、min-の接頭辞で上限・下限を指定可。
device-aspect-ratio 表示領域の縦横比。max-、min-の接頭辞で上限・下限を指定可。
color カラーディスプレイの色のビット数。max-、min-の接頭辞で上限・下限を指定可。
color-index カラールックアップテーブルの数。max-、min-の接頭辞で上限・下限を指定可。
monochrome 白黒ディスプレイのビット数。カラーディスプレイの場合は「0」。max-、min-の接頭辞で上限・下限を指定可。
resolution ディスプレイの解像度。max-、min-の接頭辞で上限・下限を指定可。
scan メディアタイプがtvの場合の画面の走査方法。値はprogressive、またはinterlace。
grid ディスプレイの表示方法。メディアタイプがttyの場合は「1」。それ以外は「0」。

以下の例では、link要素でCSSを組み込むときにメディアクエリを指定しています。メディアタイプがモバイルデバイス(handheld)、またはディスプレイ(screen)でディスプレイの幅が20em以下の場合に、指定したスタイルが組み込まれます。

HTML
<link rel="stylesheet" media="handheld and (min-width: 20em), screen and (min-width: 20em)">

関連記事