7

W3CCSSValidatorを使用してサイトのCSSを検証しようとしました。残念ながら、YUIフレームワークのreset-min.cssは、文字列 "{* font-size:100%;"で解析エラーを生成しました。

バリデーターの結果。

さらに調査したところ、Firefoxのエラーコンソールで次のエラーに気づきました。

警告:宣言が必要ですが、「*」が見つかりました。次の宣言にスキップしました。

'*'の意味についての説明も、この人気のあるリセットCSSの問題についての参照も見つかりませんでした。

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

4

2 に答える 2

9

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

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

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

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

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

于 2009-08-30T20:49:14.913 に答える
6

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

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

編集:完全なリストについては、ここを参照してください。特定のケースでは、そのルールはIE7以下でのみ表示されます。

于 2009-08-30T20:37:21.227 に答える