2011-09-14 4 views
4

空のCSS宣言の予想される動作は何ですか?たとえば

.foo { font-family: ; font-size: ; } 

私はIE9やChromeで異なる振る舞いを見ています。 IE9は、これらの属性をゼロにするためにこれを使用しているようです(ただし、この動作は今のところ私のために異なるページで一貫していません)。

Chromeでは、単に無視するようです。

実際に予想される動作は何ですか?それは有効なCSSですか?

+1

有効かどうかを確認するには、W3Cの検証サービスを利用できます。http://jigsaw.w3.org/css-validator( "魚を人に教える"など) –

+0

@Matt Ballありがとうございました!しかし、現時点では動作していません:) – Matt

答えて

7

これは無効なCSSです。

ブラウザは、値のない宣言(ブロック全体ではなく、宣言が無効で宣言後のすべて)を無視することになっています。

  • 不正宣言:spec(省略無関係のコード例)から。ユーザエージェントは、()、[]、{}、 ""、および ''のペアの一致規則を守りながら、宣言の最後まで読み込んでエスケープを正しく処理して、宣言を解析する際に遭遇した予期しないトークンを処理する必要があります。たとえば、不正な宣言でプロパティ、コロン(:)または値が欠落している可能性があります。

    p { color:green } 
    p { color:green; color: } /* malformed declaration missing value */ 
    p { color:red; color:; color:green } /* same with expected recovery */