附属書B CSS1からの変更
この附属書Bは参考であって,規定ではない。
CSS2はCSS1に基づいて構築されており,すべての妥当なCSS1スタイルシートは
妥当なCSS2スタイルシートである。CSS1規定
([CSS1]参照) から
この標準情報(TR)への変更点は,新機能,CSS1機能の更新記述,及びCSS1の変更の三種類に大別される。
CSS1の機能に加え,CSS2は次をサポートしている。
CSS1規定は短く,簡潔であった。この標準情報(TR)は,CSS1と比較すると非常に
量が多く,読み易い。追加された内容のほとんどは新しい機能を記述
しているが,CSS1機能の記述も拡張されている。次に記述したいくつかの例外
を除き,書き直された記述は,構文の変更もセマンティクスの変更も表さない。
CSS1スタイルシートはすべて妥当なCSS2スタイルシートであるが,CSS1スタイルシート
がCSS2スタイルシートとして解釈されると,異なる意味をもつ場合が少しある。
ほとんどの変更は実装経験による規定へのフィードバックに従うためであるが,
幾つかのエラー訂正もある。
- "!important"の意味が変更されている。CSS1では,
文書作成者によるスタイルシート中の"!important"は利用者によるスタイルシートに優先した。
CSS2では, 逆になっている。
- CSS2では,色値は,
CSS1のようにsRGB全域に注目して切取られるのではなく,
全色域に注目して切取られる。
- CSS1では,
'margin-left'及び'width'の両方が設定された場合は、'margin-right'は無視される
と簡単に言っているだけであったが, CSS2では,
'margin-right'を選択するか'margin-left'を選択するかは
表記方向に依存する。
- CSS1では, 多くの特性('padding'など)の値は親要素の幅を参照したが,これは誤りであった。値は常にブロックレベル要素の幅を参照するほうがよく,CSS2では,"包含ブロック"という用語を導入することによって,これを反映している。
- 'display'の初期値は, CSS1では 'block' であったが, CSS2では'inline'である。
- CSS1では, 'clear'特性はすべての要素に適用されたが,
これはエラーであった。この特性は,CSS2ではブロックレベル要素だけに適用される。
- CSS1では, ':link', ':visited'及び ':active' は相互に排他的であったが,CSS2では, ':active'は
':link'又は
':visited'と共存できる。
- フォントサイズの表において,隣接する'font-size'インデクス間の
推奨スケール変倍率は,1.5から1.2に減らされている。
- 'font-size'は,実際の値ではなく,計算値
が継承される。
- ('list-style-position'の)
'inside'のCSS1記述では,箇条記号の位置ではなく,テキストの左マージンが影響を受けるという解釈ができた。CSS2では,その解釈は外された。
- CSS1トークン化子とCSS2トークン化子との相違については,
規定の部分も参照のこと。