Chrome 10w/でかなり奇妙なことが見られます:first-child:before
。
このHTMLで
<ul>
<li>One</li>
<li>Two</li>
<li>Three</li>
</ul>
<ul>
<li>Four</li>
<li>Five</li>
<li>Siz</li>
</ul>
そしてこのCSS
ul {
list-style-type: none
}
li:before {
content: "* "
}
li:first-child:before {
content: ""
}
<li>Four</li>
Win XPSP3のChrome10.0.648.204でアスタリスクを付けてレンダリングする理由を誰かが説明できますか?http://jsfiddle.net/MxtHm/を参照してください
しかし、CSSをに変更すると
ul {
list-style-type: none
}
li:before {
content: "* "
}
li:first-child {
background: none
}
li:first-child:before {
content: ""
}
<li>Four</li>
アスタリスクなしでレンダリングします。http://jsfiddle.net/SGRej/を参照してください
Safari5.0.4とFirefox3.6.16は、両方の例を同じようにレンダリングします。私はMeyerの本とCSS仕様の両方を調べて、運がなくても説明を探しましたが、CSSバリデーターはCSSについて不平を言っていません。
非常に奇妙なことは、Chromeで要素を検査すると、がルールli:first-child:before
をオーバーライドしていることを示していることです。li:before
JSFiddleはXHTML1.0Strict DOCTYPEを使用していますが、これはHTML5DOCTYPEでも見られます。
ありがとう。
2011-04-28編集:これは、他の同様の疑似要素関連の問題とともに、Chrome11.0.696.57で修正されたようです。