<< CSSのコメント方法
CSSの解析エラー時のルールは以下の通りです。
※このページは、W3Cの4 CSS2 syntax and basic data types[英文]を当サイト管理人が2008年08月25日、意訳したものですが、構文解釈の違いや翻訳の違いが含まれるかもしれません。正式文書はW3C 各種仕様書(英語版)である事を予めご了承ください。
不正なスタイルシートだった場合に必ずユーザーエージェントが無視しなければいけないケースがあります。
この仕様の「無視」に関する定義は、妥当でない部分をユーザーエージェントが見つけた場合には、まるでそこにその設定がなかったかのような振る舞いをする事を意味しています。
存在するプロパティの為の新しいプロパティや設定値が将来追加される事を考慮してその際には受け入れ、ユーザーエージェントは、以下にあるような状況に直面した場合にはそのルールに従う事が求められます。
ユーザーエージェントは、未知のプロパティである事を報告した上で無視しなければいけません。
◆未知のプロパティの例 h1 { color: red; rotation: 70minutes } の場合、 rotation: 70minutes は妥当ではないので h1 { color: red; } という設定であるものとして扱います。 |
ユーザーエージェントは、不正な値である事を報告した上で無視しなければいけません。
◆正しい値と不正な値の例 | |
img { float: left } | /* CSS2では妥当 */ |
img { float: left here } | /* "here"が'float'の値として妥当ではない */ |
img { background: "red" } | /* CSS2ではキーワードをクォーテーションで括ってはいけないので妥当ではない */ |
img { border-width: 3 } | /* このプロパティの設定値には長さとその単位が必要なので妥当ではない */ |
セレクタとブロックがあってプロパティも値も設定されていない場合には、CSS2ではCSS2パーサーは、そのスタイルシートがまだ続いていたとしても、その時点で解析を中止します(未来バージョンのCSSでは解析を継続するかもしれませんのでその時はユーザーエージェントはそれに従って下さい)。
ユーザーエージェントは、@キーワードと最初の ; セミコロンの間にある@キーワードに続くいかなるものも { } ブロックも全て無視しなければならず、CSS2ではCSS2パーサーは、そのスタイルシートがまだ続いていたとしても、その時点で解析を中止します(未来バージョンのCSSでは解析を継続するかもしれませんのでその時はユーザーエージェントはそれに従って下さい)。
@three-dee { @background-lighting { azimuth: 30deg; elevation: 190deg; } h1 { color: red } } h1 { color: blue } |
CSS2には、「@three-dee」という@ルールがないので3番目の右波カッコまでを無視する為、最後の1行の
h1 { color: blue } |
だけが有効です。
>> CSS数字と数値