気の向くままに辿るIT/ICT/IoT
CSS / Cascading Style Sheets / スタイルシート

CSS文法[解析エラー時のルール]

ホーム前へ次へ
CSSの解析エラー時のルールとは?

CSSスタイルシート文法[解析エラー時のルール]

<< CSSのコメント方法

CSS解析エラー時のルールは

 CSSの解析エラー時のルールは以下の通りです。

※このページは、W3C4 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数字と数値

CSS/スタイルシート情報

ホーム前へ次へ