この文書は、「Media Queries (W3C Candidate Recommendation 27 July 2010)」の日本語訳です。

原文の最新版 は、この日本語訳が参照した版から更新されている可能性があります。

この日本語訳は参考情報であり、正式な文書ではないことにご注意ください。また、翻訳において生じた誤りが含まれる可能性があります。他の仕様の訳については Web 標準仕様 日本語訳一覧 を参照してください。

公開日:
2010-07-28
翻訳者:
矢倉 眞隆 <>

W3C

メディアクエリー

2010 年 7 月 27 日付 W3C 勧告候補 (Candidate Recommendation)

この版:
http://www.w3.org/TR/2010/CR-css3-mediaqueries-20100727/
最新版:
http://www.w3.org/TR/css3-mediaqueries/
前の版:
http://www.w3.org/TR/2009/CR-css3-mediaqueries-20090915/
編集者:
Håkon Wium Lie <>
Tantek Çelik <>
Daniel Glazman <>
Anne van Kesteren <>

概要

HTML4 と CSS2 は、異なる 媒体型 (media types) 用に調整した、媒体固有のスタイルシート機能を備えています。この機能を利用すると、たとえば、「画面上ではサンセリフ体が指定され、印刷時にはセリフ体のフォントが指定される」といったことも可能になります。この例では ‘screen’ と ‘print’ という、定義済みの媒体型を利用しています。メディアクエリー (Media queries) はこの機能を拡張し、より細かなスタイルシートのラベル付けを行えるようにするものです。

メディアクエリーは、媒体型と、特定の 媒体特性 (media features) に関する条件を調べる 0 以上の式 (expressions) から構成されます。メディアクエリーで使用できる媒体特性には ‘width’, ‘height’, ‘color’ などがあります。メディアクエリーを利用することにより、ページの内容を変えることなく、特定の出力デバイスごとにスタイルを調整することができるようになります。

この文書のステータス

この章は、この文書の公開時におけるステータスについて説明しています。このため、他の仕様がこの文書を上書きしている可能性があります。W3C による他の出版物およびこの技術レポートの最新版は W3C 技術レポートインデックス (http://www.w3.org/TR/) で探すことができます。

この文書は CSS Working Group により作成された勧告候補 (Candidate Recommendation) です。

勧告候補とは、広くレビューがなされ、実装段階に入った文書のことです。W3C はこの仕様を実装する方に対し、コメントを公開メーリングリスト www-style@w3.org (アーカイブ) に送信するよう促しています (議論への参加の前に、参加手順 をお読みください)。メールを送る際は、件名に “css3-mediaqueries” を含めてください。たとえば、 “[css3-mediaqueries] …summary of comment…” というスタイルが適当です。

勧告候補としての公開は、W3C メンバーによる支持を意味するものではありません。この文書は更新されたり他の文書と置き換えられたり、また破棄される可能性もある草稿段階の仕様書です。策定中ということを明記せずに、この文書を引用することは適当でありません。

この文書は 5 February 2004 W3C Patent Policy の下で活動するグループにより作成されました。W3C は 特許情報の開示に関する公開リスト を関連する団体と共に、その成果物とあわせて管理しています。リストには情報開示に関する説明もありますので、ご参照ください。特許について十分に知識のある人物が、当該仕様に関し Essential Claim(s) が認められると判断した場合は、W3C 特許方針の第 6 章 に従い情報を開示する必要があります。

この仕様が CR の段階を通過した時点で、次のような条件が満たされているものとします。

  1. 少なくとも二つの、相互運用可能な実装が存在しています。これを評価基準とするため、ここでは次の用語を定義します。

    相互運用可能 (interoperable)

    CSS テストスイートの各テストケースをパスします。もし実装が Web ブラウザでなければ、そのテストスイートと同等なテストをパスします。そのようなユーザーエージェント (UA) が相互運用性を主張するために利用される場合、テストスイート内の該当するテストには、それぞれ代替となるテストが用意されるべきです。また、そのような UA が相互運用性を主張するために利用される場合、同じように相互運用性を主張する別の UA が一つ以上存在し、また関連するテストを通る必要があります。このとき、関連するテストは査読を行いやすいよう、パブリックな場所で公開される必要があります。

    実装 (implementation)

    次のようなユーザーエージェントが、実装と呼ばれることになります。

    1. 仕様を実装している。
    2. 公開されている (パブリックな場所でダウンロードできる、または一般に販売されるなどして入手できる)。これは "show me" 要件と呼ばれるものです。
    3. 出荷版、または次のリリースのための開発版 "ナイトリービルド (nightly build)" である。ただし、このバージョンはテストスイートをパスするためだけに作成され、常用を目的としていないものを含みません。
  2. テストスイート が存在しています。

  3. 最低で 4 週間以上の勧告候補期間 (CR Period) 経過する必要があります。これは、この仕様が 2010 年 8 月 24 日より前には CR を通過しないことを意味します。この仕様が CR を通過したとき、実装レポートが公開されます。現段階では、そのようなレポートは存在しません。

前の草案に対し寄せられたコメント も保存されています。

目次

1. 背景

(このセクションは規範的ではありません。)

HTML4 [HTML401] と CSS2 [CSS2] は、異なる媒体用に調整された、媒体固有のスタイルシートに対応しています。たとえば、ある文書に「スクリーン用」と「印刷用」という、異なるスタイルシートを適用することができます。HTML4 では、次のように記述します。

<link rel="stylesheet" type="text/css" media="screen" href="sans-serif.css">
<link rel="stylesheet" type="text/css" media="print" href="serif.css">

CSS スタイルシートでは、ある部分を特定の媒体型に適用させるといったこともできます。

@media screen {
  * { font-family: sans-serif }
}

媒体型 ‘print’ と ‘screen’ は HTML4 で定義されています。HTML4 で定義される媒体型は ‘aural’, ‘braille’, ‘handheld’, ‘print’, ‘projection’, ‘screen’, ‘tty’, ‘tv’ の計 8 つです。CSS2 ではこのリストから ‘aural’ を非推奨扱いとし、‘embossed’ と ‘speech’ を加えています。また、すべての媒体に対しスタイルを適用する媒体型 ‘all’ も利用されています。

訳註: ここでの「媒体型 (media type)」は、Content-Type や MIME を意味する “媒体型 (media type)” ではなく、出力デバイスの種類や性質を表します。

媒体固有のスタイルシートは、いくつかのユーザーエージェントによってサポートされています。なかでも頻繁に利用されるのは ‘screen’ と ‘print’ で、スクリーンと印刷機器で異なるスタイルを適用するというものです。

この媒体型の指定について、出力デバイスのタイプをより細かく限定したいという要望がありました。HTML4 はそのような要望を予想していたため、媒体型について前方互換性のある構文を定義していました。HTML4 仕様書の section 6.13 には、次のように書かれています。

訳註: 次の引用部分についても、日本語に翻訳しています。

将来の HTML において、新しい値の追加を行うこと、またパラメータ化された値をとるようになる可能性があります。これらの拡張を容易に行うため、適合するユーザーエージェントは次のように media 属性の値を パース できる必要があります。

  1. 値はカンマによって区切られた、リストとなっています。
    media="screen, 3d-glasses, print and resolution > 90dpi"

    これは次のように扱われます。

    "screen"
    "3d-glasses"
    "print and resolution > 90dpi"
  2. 各エントリは US ASCII 文字 [a-zA-Z] (Unicode decimal 65-90, 97-122)、数字 [0-9] (Unicode hex 30-39)、またはハイフン (45) 以外の最初の文字で切り取られます。先ほどの例の場合、次のように処理されます。
    "screen"
    "3d-glasses"
    "print"

この仕様で定義するメディアクエリーは、HTML4 で考えられた仕組みをもとにしています。メディアクエリーの構文は、HTML4 で予約された媒体型の構文にも対応するものとなっています。HTML4 の media 属性は XHTML にも XML にも存在しています。そして、同様の構文は CSS の ‘@media’ 規則および ‘@import’ でも使用することができます。

しかしながら、メディアクエリーの構文解析処理規則は CSS で利用されるメディアクエリーの処理規則と一貫性を持つため、HTML4 の処理規則と互換性がありません。

HTML5 [HTML5] (策定中) はメディアクエリー仕様を直接参照するため、HTML の規則を改定することになります。

2. メディアクエリー

メディアクエリーは、媒体型と、特定の 媒体特性 (media features) に関する条件を調べる 0 以上の 式 (expressions) から構成されます。

メディアクエリーに関する言及は、構文のセクション に従うことを前提としています。そして、構文に適合しないメディアクエリーは、エラー処理のセクション で説明しています。つまり、このセクションの要件よりも構文のほうが優先されます。

次のコードは、HTML で簡単なメディアクエリーを利用した例です。

<link rel="stylesheet" media="screen and (color)" href="example.css" />

この例は、媒体型 (‘screen’) に属するデバイスのうち、ある特性 (カラー画面) を持つものにだけ、スタイルシート (example.css) が適用されるということを示しています。

先ほどのメディアクエリーを、CSS の @import 規則で利用したものを次に記します。

@import url(color.css) screen and (color);

メディアクエリーは、真あるいは偽になる論理式です。メディアクエリーは、クエリー内の媒体型が、ユーザーエージェントの属する媒体型 ("適用対象" に記載) に一致し、またクエリー内のすべての式が真と評価されたときに、真になります。

メディアクエリーには、すべての媒体型に適用する短縮形構文が存在します。キーワード ‘all’ は (それに続く ‘and’ とともに) 省略が可能です。つまり、媒体型が明示的に指定されていない場合、それは ‘all’ として扱われます。

次の 2 つは等価です。

@media all and (min-width:500px) { … }
@media (min-width:500px) { … }

次の 2 つも等価です。

@media (orientation: portrait) { … }
@media all and (orientation: portrait) { … }

カンマで区切ることにより、複数のメディアクエリーを繋げることができます。複数のクエリーのうちひとつ以上が真である場合、リスト全体が真となります。それ以外の場合は偽となります。メディアクエリーの構文において、カンマは論理式の OR を、また ‘and’ キーワードは論理式の AND を表しています。

次の例は複数のメディアクエリーをカンマで区切って指定したものです。CSS の @media 規則で記述しています。

@media screen and (color), projection and (color) { ... }

メディアクエリーのリストが空 (宣言が空文字列もしくは空白のみ) の場合、そのメディアクエリーは真と評価されます。

次の例は等価です。

@media all { … }
@media { … }

論理式の NOT は the ‘not’ というキーワードで表すことができます。‘not’ をメディアクエリーの先頭に記述すると、クエリーの結果が否定されます。つまり、このキーワードのないメディアクエリーが真である場合、‘not’ をつけたものは偽となります。逆の場合も同様です。(HTML4 で記された通り) 媒体型のみをサポートするユーザーエージェントは ‘not’ キーワードを理解しませんから、関連付けられたスタイルシートは適用されません。

<link rel="stylesheet" media="not screen and (color)" href="example.css" />

古いユーザーエージェントにスタイルシートを解釈させないよう、‘only’ キーワードを利用することができます。ユーザーエージェントは ‘only’ から始まるメディアクエリーを、‘only’ キーワードが存在していないかのように解釈し処理する必要があります。

<link rel="stylesheet" media="only screen and (color)" href="example.css" />

メディアクエリー構文は HTML や XHTML, XML [XMLSTYLE], そして CSS の @import 規則と @media 規則に使用することができます。

次の例は、同じメディアクエリーを HTML、XHTML、XML、@import、@media でそれぞれ記述したものです。

<link rel="stylesheet" media="screen and (color), projection and (color)" rel="stylesheet" href="example.css">
<link rel="stylesheet" media="screen and (color), projection and (color)" rel="stylesheet" href="example.css" />
<?xml-stylesheet media="screen and (color), projection and (color)" rel="stylesheet" href="example.css" ?>
@import url(example.css) screen and (color), projection and (color);
@media screen and (color), projection and (color) { … }

[XMLSTYLE] 仕様は media 擬似属性でメディアクエリーを使うように更新されていません。

訳注: 上記で参照される “Associating Style Sheets with XML documents 1.0” 仕様の改訂作業が進行中です。改訂案では、メディアクエリーの参照が行われています。

記されている媒体特性が、現在のデバイスに当てはまらない場合、その媒体特性に関わる式は偽と評価されます。

媒体特性 ‘device-aspect-ratio’ は視覚的デバイスのみに適用されます。このため、音声デバイスにおいて、‘device-aspect-ratio’ に関わる式はすべて偽となります。

<link rel="stylesheet" media="aural and (device-aspect-ratio: 16/9)" href="example.css" />

クエリーで使用されている単位が対象となるデバイスに当てはまらない場合、式は常に偽と評価されます。

単位 ‘px’ は ‘speech’ デバイスに当てはまりません。このため、次のメディアクエリーは常に偽となります。

<link rel="stylesheet" media="speech and (min-device-width: 800px)" href="example.css" />

しかし、この例におけるメディアクエリーに対し、‘not’ をクエリーの先頭に記述することで、このクエリーを真にすることができます。

式を評価するためにスタイルを適用する必要はありません。これは循環依存関係を避けるためです。たとえば、印刷された文書のアスペクト比はスタイルシートに影響されるでしょう。しかし、‘device-aspect-ratio’ に関わる式はユーザーエージェントが持つアスペクト比の規定値を基にします。

これは必須ではありませんが、ユーザーエージェントは環境が変化した時、クエリーを再評価しページのレイアウトを再構成することが望ましいでしょう。環境の変化とはたとえば、デバイスが横長から縦長モードになった時などです。

3. 構文

メディアクエリーの構文は CSS2 の文法 を用いて表されます。つまり、この仕様書で定義されていない規則は CSS2 で定義されているものです。次で定義される media_query_list は、CSS2の media_list にとってかわるものです。[CSS21]

media_query_list
 : S* [media_query [ ',' S* media_query ]* ]?
 ;
media_query
 : [ONLY | NOT]? S* media_type S* [ AND S* expression ]*
 | expression [ AND S* expression ]*
 ;
media_type
 : IDENT
 ;
expression
 : '(' S* media_feature S* [ ':' S* expr ]? ')' S*
 ;
media_feature
 : IDENT
 ;

CSS2 に定義されている COMMENT トークンはこの文法の中にありませんが、これは可読性を確保するためです。COMMENT トークンは、他のトークンの間にいくつでも、また何度でも記述することができます。[CSS21]

次の定義が新たに導入されます。

L  l|\\0{0,4}(4c|6c)(\r\n|[ \t\r\n\f])?|\\l
Y  y|\\0{0,4}(59|79)(\r\n|[ \t\r\n\f])?|\\y

次のトークンが新たに導入されます。

{O}{N}{L}{Y}      {return ONLY;}
{N}{O}{T}         {return NOT;}
{A}{N}{D}         {return AND;}
{num}{D}{P}{I}    {return RESOLUTION;}
{num}{D}{P}{C}{M} {return RESOLUTION;}

RESOLUTION が CSS2 の term に追加されます。

CSS スタイルシートは基本的に大文字と小文字を区別しません (case-insensitive)。メディアクエリーもこれに準じます。

文法への適合もさることながら、メディアクエリーが適合しているとみなされるには、利用している媒体特性が仕様にて定義されている必要があります。

"example" という媒体型は存在しないため、最初のメディアクエリーのみが適合することになります。

@media all { body { background:lime } }
@media example { body { background:red } }

3.1. エラー処理

ユーザーエージェントは適合しないメディアクエリーに対し、次の規則に従う必要があります。

4. 媒体特性

媒体特性の構文は、特性の名前とその値を CSS プロパティのように記述するようになっています。しかし、媒体特性とプロパティの間には、大きな違いがいくつか存在します。

たとえば、媒体特性 ‘color’ は、値なしの式 (‘(color)’) となる場合もあれば、値ありの式 (‘(min-color: 1)’) となる場合もあります。

この仕様は、視覚的デバイスと触覚デバイスに利用可能な媒体特性を定義します。媒体特性は音声デバイスに対しても同様に定義することができるでしょう。

4.1. width

値: <length>
適用対象: 視覚的媒体と触覚媒体
min/max 接頭辞: あり

媒体特性 ‘width’ は、出力デバイスにおける対象表示域 (targeted display area) の幅を表します。連続的なメディアにおいては、表示域 (viewport) の幅を表します。スクロールバーがある場合、その大きさが含まれます。(表示域は CSS2 の section 9.1.1 [CSS2] にて定義されています)。ページメディアについては、ページボックス (page box) の幅を表します (ページボックスは CSS2 の section 13.2 [CSS2] にて定義されています)。

<length> に負の値を指定することはできません。

次の例は、幅が 25cm 以上ある印刷物に対して適用されるスタイルシートを表しています。

<link rel="stylesheet" media="print and (min-width: 25cm)" href="http://...." />

次のメディアクエリーは、表示域 (スクリーン上/紙上の文書が表示される部分) が 400 ピクセル以上 700 ピクセル以下のメディアに適合します。

@media screen and (min-width: 400px) and (max-width: 700px) { ... }

次のメディアクエリーは、表示域の幅が 20em 以上のスクリーンデバイスおよびハンドヘルドデバイスに適合します。

@media handheld and (min-width: 20em), 
  screen and (min-width: 20em) { ... }

なお、‘em’ の値はルート要素のフォントサイズに比例します。

4.2. height

値: <length>
適用対象: 視覚的媒体と触覚媒体
min/max 接頭辞: あり

媒体特性 ‘height’ は、出力デバイスにおける対象表示域 (targeted display area) の高さを表します。連続的なメディアにおいては、表示域の高さを表します。スクロールバーがある場合、その大きさが含まれます。ページメディアについては、ページボックスの高さを表します。

<length> に負の値を指定することはできません。

4.3. device-width

値: <length>
適用対象: 視覚的媒体と触覚媒体
min/max 接頭辞: あり

媒体特性 ‘device-width’ は、出力デバイスにおける描画面の幅を表します。連続的な媒体においては、スクリーンの幅となり、ページ媒体においては、ページボックスの幅となります。

<length> に負の値を指定することはできません。

@media screen and (device-width: 800px) { ... }

この例は、現在の幅がちょうど 800 ピクセルであるスクリーンに対して、スタイルシートを適用するメディアクエリーを表しています。単位 ‘px’ は、単位 のセクションで説明されているように、論理種である単位です。

4.4. device-height

値: <length>
適用対象: 視覚的媒体と触覚媒体
min/max 接頭辞: あり

媒体特性 ‘device-height’ は、出力デバイスにおける描画面の高さを表します。連続的な媒体においては、スクリーンの高さとなり、ページ媒体においては、ページボックスの高さとなります。

<length> に負の値を指定することはできません。

<link rel="stylesheet" media="screen and (device-height: 600px)" />

この例は、高さがちょうど 600 ピクセルであるスクリーンに対して適用されるスタイルシートを表しています。単位 ‘px’ の定義は、他の CSS 仕様と同じものです。

4.5. orientation

値: portrait | landscape
適用対象: ビットマップ媒体
min/max 接頭辞: なし

媒体特性 ‘height’ の値が媒体特性 ‘width’ と同じ、またはそれ以上であるとき、媒体特性 ‘orientation’ は ‘portrait’ を表します。そうでない場合、媒体特性 ‘orientation’ は ‘landscape’ となります。

@media all and (orientation:portrait) { ... }
@media all and (orientation:landscape) { ... }

4.6. aspect-ratio

値: <ratio>
適用対象: ビットマップ媒体
min/max 接頭辞: あり

媒体特性 ‘aspect-ratio’ は、媒体特性 ‘width’ と ‘height’ がとる値の比より定義されます。

4.7 device-aspect-ratio

値: <ratio>
適用対象: ビットマップ媒体
min/max 接頭辞: あり

媒体特性 ‘device-aspect-ratio’ は、媒体特性 ‘device-width’ と ‘device-height’ がとる値の比より定義されます。

たとえば、次のメディアクエリーはすべて、("16:9" と呼ばれている) 幅が 1280 ピクセル、高さが 720 ピクセルのスクリーンデバイス に適合します。

@media screen and (device-aspect-ratio: 16/9) { ... }
@media screen and (device-aspect-ratio: 32/18) { ... }
@media screen and (device-aspect-ratio: 1280/720) { ... }
@media screen and (device-aspect-ratio: 2560/1440) { ... }

4.8. color

値: <integer>
適用対象: 視覚的媒体
min/max 接頭辞: あり

媒体特性 ‘color’ は、出力デバイスが持つ各カラーチャンネルのビット数を表します。デバイスがカラーデバイスでない場合、値は 0 となります。

<integer> に 0 または負の値を指定することはできません。

次の二つのメディアクエリーは、すべてのカラーデバイスに適合します。

@media all and (color) { ... }
@media all and (min-color: 1) { ... }

次のメディアクエリーは、各カラーチャンネルのビット数が 2 以上のデバイスに適合します。

@media all and (min-color: 2) { ... }

各カラーチャンネルがそれぞれ異なるビット数を持つ場合は、その最小値が使われます。

つまり、ある 8 ビットカラーシステムが赤 3 ビット、緑 3 ビット、青 2 ビットで構成される場合、媒体特性 ‘color’ はその値に 2 を持ちます。

インデックスカラーを持つデバイスでビット数の最小値を求めるには、カラーテーブルを利用します。

Note: ここに記載された機能は、あくまで表面的なレベルで色表現能力を指定することができるものです。それ以上の機能が必要とされる場合は、RFC2531 [RFC2531] にて今後対応するかもしれない、より細かい媒体特性が提供されています。

4.9. color-index

値: <integer>
適用対象: 視覚的媒体
min/max 接頭辞: あり

媒体特性 ‘color-index’ は、出力デバイスの持つカラーテーブルのエントリ数を表します。デバイスがカラーテーブルを持たない場合、値は 0 となります。

<integer> に負の値を指定することはできません。

次のメディアクエリーは、すべてのカラーテーブルに適合します。

@media all and (color-index) { ... }
@media all and (min-color-index: 1) { ... }

次のメディアクエリーは、256 色以上のカラーテーブルを持つデバイスにスタイルシートを適用します。

<?xml-stylesheet media="all and (min-color-index: 256)" 
  href="http://www.example.com/..." ?>

4.10. monochrome

値: <integer>
適用対象: 視覚的媒体
min/max 接頭辞: あり

媒体特性 ‘monochrome’ はモノクロームフレームバッファにおける階調数を表します。デバイスがモノクロデバイスでない場合、値は 0 をとります。

<integer> に負の値を指定することはできません。

次のメディアクエリーはどちらも、すべてのモノクロデバイスに適合します。

@media all and (monochrome) { ... }
@media all and (min-monochrome: 1) { ... }

次のメディアクエリーは、1 ピクセルあたり 2 ビット以上の色深度を持つモノクロデバイスに適合します。

@media all and (min-monochrome: 2) { ... }

一方をカラーデバイス用、もう一方をモノクロデバイス用としてスタイルシートを適用させたい場合は、次のメディアクエリーを記述します。

<link rel="stylesheet" media="print and (color)" href="http://..." />
<link rel="stylesheet" media="print and (monochrome)" href="http://..." />

4.11. resolution

値: <resolution>
適用対象: ビットマップ媒体
min/max 接頭辞: あり

媒体特性 ‘resolution’ は、ピクセル密度など、出力デバイスの解像度を表します。非正方ピクセルなデバイスにおいて、‘min-resolution’ クエリーはデバイスの最低密度と指定された値を、また ‘max-resolution’ クエリーはデバイスの最高密度と指定された値を比べる必要があります。"min-" や "max-" 接頭辞のつかないただの ‘resolution’ クエリーは、非正方ピクセルなデバイスにおいて適合することはありません。

たとえば、次のメディアクエリーは、解像度が 300dpi 以上のデバイスに適合します。

@media print and (min-resolution: 300dpi) { ... }

次のメディアクエリーは、118dpcm 以上のデバイスに適合します。

@media print and (min-resolution: 118dpcm) { ... }

4.12. scan

値: progressive | interlace
適用対象: "tv" 媒体
min/max 接頭辞: なし

媒体特性 ‘scan’ は、種類が "tv" である出力デバイスが持つ走査処理方法を表します。

たとえば、次のメディアクエリーは、プログレッシブ方式の TV デバイスに適合します。

@media tv and (scan: progressive) { ... }

4.13. grid

値: <integer>
適用対象: すべての媒体
min/max 接頭辞: なし

媒体特性 ‘grid’ は、出力デバイスがグリッドであるかビットマップであるかを表します。出力デバイスがグリッドベース ("tty" ターミナルや、一つの固定フォントしか持たない電話のディスプレイなど) である場合、値は 1 となります。グリッドベースでない場合、値は 0 となります。

0 または 1 が妥当な値として認識されます (-0 も妥当です)。そのほかの値を記述すると、非製形式なメディアクエリーとなります。

次に二つの例を示します。

@media handheld and (grid) and (max-width: 15em) { ... }
@media handheld and (grid) and (device-max-height: 7em) { ... }

5.

この仕様は、ふたつの新しい値を導入しています。

<ratio> は、スラッシュ (‘/’) で区切られた、ふたつの正の <integer> により表されます。スラッシュの前後には空白を記述することができます。

<resolution> は、正の <number> の直後に単位識別子 (‘dpi’ または ‘dpcm’) を記述したものです。空白を間に記述することはできません。

この仕様書で利用されている他の値は、

空白や <integer>, <number>, その他の値は、他の CSS 仕様と同じく CSS 2.1 で規範的に定義されているものです [CSS21]

6. 単位

メディアクエリーで使用される単位は、他の CSS 仕様と同じものです。たとえば、ピクセルは CSS ピクセルを意味し、物理的なピクセルを意味しません。

メディアクエリーにおいて相対的な単位は、文書のルート要素の初期値を基にしています。たとえば HTML の場合、html 要素に指定された ‘font-size’ プロパティの初期値が ‘em’ の値となります。

6.1. 解像度

二つの単位 ‘dpi’ と ‘dpcm’ はピクセル密度など、出力デバイスの持つ解像度を表します。解像度を表す単位は次のようになっています。

dpi
インチあたりのドット数 (dots per inch)
dpcm
センチメートルあたりのドット数 (dots per centimeter)

この仕様書において、これらの単位は媒体特性 ‘resolution’ のみに使用されます。

謝辞

この仕様は、W3C の Cascading Style Sheets Working Group によって作成されました。

編集者は、Björn Höhrmann, Christoph Päper, Chris Lilley, Simon Pieters, Rijk van Geijtenbeek, Sigurd Lerstad, Arve Bersvendsen, Susan Lesch, Philipp Hoschka, Roger Gimson, Steven Pemberton, Simon Kissane, Melinda Grant, and L. David Baron の貢献に感謝しています。

参考文献

規範的な参考文献

[CSS21]
Bert Bos; et al. Cascading Style Sheets Level 2 Revision 1 (CSS 2.1) Specification. 8 September 2009. W3C Candidate Recommendation. (Work in progress.) URL: http://www.w3.org/TR/2009/CR-CSS2-20090908

その他の参考文献

[HTML401]
David Raggett; Ian Jacobs; Arnaud Le Hors. HTML 4.01 Specification. 24 December 1999. W3C Recommendation. URL: http://www.w3.org/TR/1999/REC-html401-19991224
[HTML5]
Ian Hickson. HTML 5. 24 June 2010. W3C Working Draft. (Work in progress.) URL: http://www.w3.org/TR/2010/WD-html5-20100624/
[RFC2531]
G. Klyne; L. McIntyre. Content Feature Schema for Internet Fax. March 1999. Internet RFC 2531. URL: http://www.ietf.org/rfc/rfc2531.txt
[XMLSTYLE]
James Clark. Associating Style Sheets with XML documents. 29 June 1999. W3C Recommendation. URL: http://www.w3.org/1999/06/REC-xml-stylesheet-19990629