私はこのHTMLを使用する場合:WebKitブラウザがGecko、Presto、およびTridentと同じ方法でこの定義リストをレンダリングしないのはなぜですか?
<dl>
<dt>term</dt>
<dd>description</dd>
<dt>term</dt>
<dd>description</dd>
</dl>
そして、このCSS:
dl, dt, dd {
margin: 0;
padding: 0;
}
dt, dd {
display: inline;
}
dt {
font-weight: bold;
}
dt:before {
display: block;
content: "separator";
font-weight: normal;
}
dt:after {
content: ":";
}
dd {
padding-left: 0.5em;
}
WebKitのは、このようにそれをレンダリングする:
しかし、上記のFirefox 3.5と、オペラ座10と上記(私は10未満のテストをしていません)、Internet Explorer 8以上は次のようにレンダリングします。
WebKitがdisplay: block;
を無視したようです。dt:before
です。
何がこの行動を起こし、そしてどのように私は他のブラウザの結果のように見えるようにWebKitの結果を得ることができますか?
私はバグの可能性を除外しません。 'display:inline'を' display:inline-block'にすると、もっと面白い方法でスタックします。 – BoltClock
[spec](http://www.w3.org/TR/CSS21/generate.html)を読むと、これはWebKitのバグのようです: ":beforeと:after擬似要素は他のボックスと相互作用します実際の要素は関連要素のすぐ内側に挿入されていました。 –