目次を飛ばして本文へ パン屑リストへ

CSS2 の CSS1 からの変更点

CSS2はCSS1に基づいて設計されており、CSS1に於いて正当なスタイルシートは概ねCSS2に於いても正当です。しかし、互換性の無い部分が幾つかあります。このディレクトリでは、変更点を大きく以下の3種類に分類して説明します。その他、細かな違いについては、リファレンスをご覧ください。

新しい機能

CSS1の機能に加えて、CSS2では以下の機能に対応しています。

CSS1からの仕様変更

  • CSS1では、:link:visited:activeが互いに排他的でした。CSS2では':active'と':link'、そして':active'と':visited'は共存可能になりました。
  • 'font-size'に於いて、隣り合うキーワードの推奨スケーリング係数が1.5から1.2に削減されました。
  • CSS1では、幾つかのプロパティ('padding'など)が親要素の大きさを参照するような値を取る事がありました。これは誤りで、そういったプロパティの値は常にブロック要素の大きさを参照します。CSS2では「コンテナブロック」という概念を導入する事によってこの修正を反映されています。
  • 'display'と'position'と'float'の関係が明記されました。
  • 'display'の初期値は、CSS1では'block'でしたがCSS2では'inline'になりました。
  • 'font-size'の値を継承する時には、実効値では無く算出値が継承されます。
  • !importantの意味変更。CSS1では、文書作成者のスタイルシートに記述された最重要指定のほうが、ユーザのスタイルシートに記述されたそれよりも優先しましたが、CSS2ではその優先度が逆になりました。
  • "text/css"というMIMEタイプの記述が必須となりました。
  • CSS1仕様の'list-style-position'の'inside'という値の説明は、黒丸の位置では無くテキストの左マージンに影響を与えるかのような解釈が可能でした。CSS2ではその解釈は除外されています。
  • 'direction'の導入により、水平方向の計算方法が大幅に変更されました。
  • HTML仕様側での代替スタイルシート概念の導入に伴い、UAには代替スタイルシートの選択機構が必須となりました。
  • 取得出来ないCSSがあっても、取得出来た分だけでもレンダリングしなければいけなくなりました。
  • CSS2では、色の値はsRGBでは無くデバイスが表現出来る色の全領域に対応させられます。
  • ボックスの構造の部位の名称が幾つか変更されました。
  • その他、仕様変更されたプロパティ。

CSS2とCSS1の字句解析を比較する

  • CSS1では、ASCIIやISO-8859-1のような1バイト(1オクテット)文字しか使用出来ませんでしたが、CSS2にその制約は無くなりました。
  • CSS1では、タブ文字(ASCIIコード9)を文字列中に記述出来ませんでしたが、CSS2では使用可能になりました。
  • CSS1では、バックスラッシュに続く4桁の16進数によってしかUnicode文字の参照が出来ませんでしたが、CSS2では6桁の16進数を使用出来るようになりました。更に、空白類を用いてエスケープ文字列の区切りを明確に出来るようになりました。例えば「¥abcdef」という記述を考えてみると、CSS1では「¥abcd、e、f」の3文字として扱われますが、CSS2では「¥abcdef」の1文字として扱われます。
  • CSS1ではエスケープ文字としての改行文字を文字列中に記述出来ませんでしたが、CSS2では使用可能になりました。
  • CSS2では、実数値とそれに続く任意の識別子は、1つのDIMEN字句として(つまり識別子を未知の単位として)解析します。CSS1では、同じ記述を1実数値及び1識別子として解析する事になっていました。CSS1に従うと「font: 10pt/1.2serif」という宣言が「font: 10pt/12pt serif」と解析されますが、CSS2では数値に続く字句は単位として認識されますので「serif」の直前にスペースが必要です。
  • CSS1では、クラス名先頭での数字の使用(.55ftなど)は、その数字が何かの寸法表現(.55inなど)で無い限り認められましたが、CSS2では前者のような例(.55ft)も未知の単位を持つ寸法表現として解析されます。CSS2で「.55ft」を正当なクラス名として用いるには、最初の数字をエスケープする必要があります(.¥55ft)。

page top
最終更新日:2018年07月18日
Copyright © 2002-2018 ばあど All Rights Reserved.