2009-08-30 6 views
7

W3C CSS Validatorを使用して自分のサイトのCSSを検証しようとしました。残念ながら、YUIフレームワークのreset-min.cssは、文字列 "{* font-size:100%;"さらに調査ではYUI Reset CSSが検証をパスしないのはなぜですか?

The validator results.

私は、Firefoxのエラーコンソールに次のエラーが気づい:

警告:期待の宣言が、見つかった '*' を。次の宣言にスキップしました。

この「*」の意味や、この人気のあるリセットCSSの問題の説明は見つかりませんでした。

私には何が欠けていますか?

答えて

9

これはIE7以下のハックです。 IE7以下では、アスタリスクをスキップしてCSSを通常通り解析し続けます。他のブラウザはルール全体を無視します。

例として、CSSは最後に宣言されたバージョンのルールを使用するため、IE7以下ではfont-sizeが113%、その他のブラウザでは段落に100%のfont-sizeが使用されます。

p { font-size: 100%; *font-size: 113%; } 

webdevout.netにもう少し詳しい情報があります。

個人的には、IEの破綻を回避する目的でこのようなハックを使用することは許容されると思います。どうやら、Yahoo!同じように感じる。

+4

私は純粋主義者ではありませんが、私はまだそのゴミを条件付きIEに投じる方が好きです(妥当性よりも醜いと心配しています)。 –

6

おそらくIE互換のハックです。

いくつかのブラウザ(特にIE 6)は無視し、他のブラウザでは表示されないCSS構文エラーが多数あります。一部のCSSファイルでは、エラーを使用して、あるブラウザに表示され、別のブラウザでは表示されないルールを作成します。

EDIT:フルリストについては、hereを参照してください。特定のケースでは、そのルールはIE 7以下でのみ表示されます。

+2

はい、ちょうど*を使って宣言をつかんで、*を付けずにIEの条件付きCSSファイルに入れて、それを検証できます。 –

関連する問題