スタイルシートでデザイン的な部分を分離する

Webページを記述する言語であるHTML(HyperText Markup Language :ハイパーテキストマークアップランゲージ)は、本来、文書構造を論理的に定義するためのものです。HTMLでは、どの部分が「見出し」でどの部分が「段落」であるのか、対象となる内容が文書のどの要素なのかをタグ(Tag)を使って意味付け(マーク付け)します。HTMLは、Webページがどのように見えるかという、いわばデザインやレイアウトを指定する言語ではありません。

ところが、インターネットが発展していく過程で、デザイン的に優れた見栄えがするWebページの人気が高まり、さまざまな分野でWeb が利用されていくにつれて、そのニーズも増えていきました。結果として、HTML を使って色や書体(フォント)の指定、テーブルを使ったレイアウトなどを行うようになり、文書を意味付けするというHTML本来の趣旨から逸脱していきました。

そこで、W3C(World Wide Web Consortium : HTMLの標準化を行っている非営利団体http://www.w3c.org/)がHTML の方向性についての見直しを行い、HTML 4.0からWebページの見栄えをよくするということと文書を意味付けすることを分離することに決めました。つまり、HTMLは従来どおり文書の意味付けを行い、デザインやレイアウトといった見栄えに関する部分は新たな規格で指定するということになったのです。この新たな規格が「スタイルシート」です。

このような経緯を元に、W3Cは1996年12月に最初のスタイルシートに関する勧告、CSS1(Cascading Style Sheets, Level 1)を公開しました(1999年1月に改訂)。その後の1998 年5 月には、CSS1 の仕様を拡張したCSS2(Cascading Style Sheets, Level 2)が勧告されて現在に至っています。W3Cが正式に勧告しているCSSは、Level 1 およびLevel 2 の2 種類になります。また、W3CではLevel 2の改訂版(CSS2.1)および次世代のCSSであるLevel 3(CSS3)の策定が行われています。

なお、スタイルシートの言語としてはW3Cが勧告しているCSS以外にもありますが、現在、一般にスタイルシートと呼ぶ場合にはCSS を指していると考えてよいでしょう。本書では、スタイルシートをCSS2の仕様に基づいて解説しています。