- ベストアンサー
CSS Validatorでエラーの出ないclearfixハックとは
W3CのCSS ValidatorでCSSをチェックしていますが、 フロートをクリアするための記述に問題があり、 正当なCSSと判断されません。 Validatorでエラーの出ないclearfixハックをご存知の方、 アドバイスをお願い致します。 関係あるかわかりませんが、一応書いておくと htmlの記述は「XHTML 1.0 Strict」で行っております。 以下、エラーが出ているclearfixの記述です。 /*------Floatのclearfix*/ #header:after{ content:"."; display:block; height:0; clear:both; visibility:hidden; } #header{ display:inline-block; } /*clearfix Win版IE7・Mac版IE5対策*/ *html #header{ height:1%; } #header{ display:block; } Validatorが問題としている箇所は、下記の部分です。 *html #header{ height:1%; } 現在、悩みすぎて泥沼状態です。 どうも他の対策を思いつく余裕がなくなってきました。 申し訳ありませんが、皆様のお力をお借りしたく、 投稿させて頂きました。 なお、clear:both;の場合、完全にクリアされないことが あり、あまり使いたくない状況です。 何か良い対策方法があれば、アドバイスをお願い致します。
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
*とhtmlの間にスペースを入れて * html として下さい。 スペースなしをよくみかけるのでおそらくIE6はどちらでも有効だと思いますが、 文法上はスペースがないとエラーになります
その他の回答 (2)
- quads
- ベストアンサー率35% (90/257)
私も提言しましたが、以下のページ及びリンク(トラックバック)先をご覧ください。 http://norisfactory.com/stylesheetlab/000038.php CSS Validator でエラーがでさえしなければ問題ないということもありません。 何のためにどのように記述することが適しているかを逐次判断することが重要です。 余談ですが、CSSを厳密に検証したいのであればCSSの仕様(Profile)を考慮する必要があります。
お礼
早速にご回答頂き、有難うございます! リンク及びトラックバックは大変参考になります。 まだ全部に目を通しきれていませんので、 これからよく読んで理解したいと思います。 >CSS Validator でエラーがでさえしなければ問題ないということもありません。 たしかに、その通りだと思います。
- key-child
- ベストアンサー率54% (25/46)
*htmlなんて解釈できないといっている。 CSS2リファレンス セレクタの構文 http://hp.vector.co.jp/authors/VA022006/css/selector.html?jouyou_l#selector-syntax 参考になりそうなのは下記あたり。 BLOG × WORLD ENDING CSSハック http://blog.worldending.jp/archives/2006/07/css.php
お礼
早速にご回答頂き有難うございました! 初歩的なミスで申し訳ありませんでした。 参考のURL、ざっと目を通しましたが後で熟読しておきます。
お礼
早速にご回答頂き、有難うございます! ご指摘のように修正したところ、CSS Validator 検証結果で 正当なCSSと判断されました! 初歩的なミスで申し訳ありませんでした。 そして、どうも有難うございました!