一度チェックしたら、編集したりしない限り再チェックなんてしないから気付くのが遅れたけど、どうも先月9月の中旬頃からValidなCSSにおいても、相当数の警告が出るようになったみたい。
恐らく一番多く目にすることになるのはコレでしょう。
指定された全面色(color)に対応する背景色(background-color)が指定されていません
言ってることは至極当然。colorプロパティで文字色を指定したらそれに対応する背景色を指定する必要があります。
でも、colorを指定したセレクタ全部の背景色を変えるワケじゃないから、大抵の場合
div#unko {
color : #000;
background-color : transparent;
}
こんなふうに書いてるんだと思うんですよ。
でも、現在のCSS Validatorでは、transparent‥つまり透明色では背景色を指定したことにならないらしい。なので
div#unko {
color : #000;
background-color : inherit;
}
このように親要素の値を継承するように書かなければダメみたい。
それから‥
margin における長さ指定について、絶対値指定と相対値指定がともに用いられています。これはあまり堅牢(robust)なスタイルシートではありません
div#unko {
margin : 1em 20%;
}
要はこーいうのなんですけどね、同じソースでも警告される時とされない時がある。
非常に気持ちが悪い。
次のは納得出来るけど‥
margin-left が再定義されています
div#unko {
margin : 0;
margin-left : 50%;
}
後から修正した場合なんかは、ついついこーいう書き方しちゃうんだよなぁ。
margin : 0 0 0 50%;
こう書いた方がすっきりするんだけどね。でもこれだと前述したように絶対値指定と相対値指定が~ってのが出る時と出ない時がある。
よく分からない警告がコレ
このプロパティはブロックレベル要素に適用されます
やっぱり出る時と出ない時が。
んー。
まぁいいや。分かってる所だけ修正しよう。