BOOKS
by Sukeharu Kano / 狩野祐東 著書

意外と知らないCSSカスケード(2)ユーザーエージェント(UA)CSS

2013-06-04

前回はCSSには3つの出所があり、Webサイトを作成する作者が作成した作成者CSS以外に、ユーザーCSS、ユーザーエージェントCSSという別のCSSも適用されることを紹介しました。今回は、そのうちのユーザーエージェント(UA)CSSの話です。各要素のデフォルトの表示状態が標準仕様書の中で定義されていて、各ブラウザベンダーはそれをもとにUA CSSを作成しています。

スラスラわかるHTML&CSSのきほん』p.165〜167

UA CSSは各要素のデフォルトの表示状態

 ユーザーエージェント(UA)CSSはブラウザがはじめから持っているCSSです。作成者CSSやユーザーCSSが存在しない場合でも最低限UA CSSは適用されるので、各要素のデフォルトの表示状態を規定するスタイルシートだと考えられます。HTML4系(おそらくXHTML1.0を含む)にCSS 2.1のスタイルを適用するときの推奨のデフォルトスタイル、事実上ブラウザが搭載すべきUA CSSは、CSS 2.1仕様書に書かれています。

Default style sheet for HTML 4
http://www.w3.org/TR/CSS2/sample.html

 ただし、ここに掲載されているCSSはあくまで推奨の設定ということになっており、各ブラウザベンダーがまったくこのとおりにしなければいけないという決まりはありません。そのため、ブラウザによって多少適用されるデフォルトのスタイルが異なる場合があります。
 また、同じCSS 2.1のデフォルトスタイルシートでも、上記に挙げた最新版と、たとえば1998年度版では異なる部分があり、これも古いブラウザほど表示が異なる原因のひとつになっているのかもしれません。

HTML5のUA CSS

 HTML5仕様書にはより詳細にデフォルトCSSを定義するセクションがあります。こちらはHTML4のようにまとまったCSSドキュメントにはなっていません。HTML4と同様、HTML5でもこれはあくまで推奨のCSSということになっています。

HTML5 A vocabulary and associated APIs for HTML and XHTML
10.2 The CSS user agent style sheet and presentational hints
http://www.w3.org/TR/html5/rendering.html#the-css-user-agent-style-sheet-and-presentational-hints

 なお、W3CのHTML5仕様書はWhat WGという団体が提案する仕様に基づいて作成されています。こちらにもほぼ同じことが書かれています。

HTML Living Standard
14.2 The CSS user agent style sheet and presentational hints
http://www.whatwg.org/specs/web-apps/current-work/multipage/rendering.html#the-css-user-agent-style-sheet-and-presentational-hints

 これじゃあわかりにくいよぉ……という方(私も含めてほぼ全員?)、iecss.comというサイトの作者がまとめて1枚のCSSにしています(W3C/WhatWGが定義するすべてのスタイルが定義されているわけではありません)。興味のある方はこちらも参考にしてみてください。

iecss.comが公開しているWhatWGの定義に準拠したデフォルトCSS
http://www.iecss.com/whatwg.css