*:afterとbr
Thursday, July 6, 2006 12:12:17 AM
ちょっと不思議なCSS+HTMLコードを見かけました。要約するとこんな感じ。
追記(2006/11/12): 微妙に視線を感じた気がしたので捕捉。 このケースで「わたしが」問題にしたかったのは ・brとbr/の差とか ・改行されないこととか ・改行されることとか じゃなくて、 ・「brの前に改行があるかどうか」で動作が違うこと です。どうにも説明がつかなさげに思います。 「一行目のナントカセレクタ?doctype宣言?とかContentType?次第で、brとbr/で処理の差が出たりとかするのかも知れない」とか、「改行されるべきかされないべきか」は考えるのが大変そうなので中途半端な捕捉終了。もう見てないかしら。
追記(2007/04/12): 上記コードはOpera9.20でも同じように表示されるようです。こんなページに辿りつく人ならすぐ試せると思いますが…。
<style>
*:after {content : "";}
</style>
<div class="entry-body">
改行<br />されるの。
</div>
<div class="entry-body">
改行
<br />されないの。
</div>
で、Opera9.00ではこんな表示に。
改行 されるの。 改行 されないの。IE6ではどっちも改行されてます。 バグっぽい気もするのですが、ここまで絞るので力尽きました。 中途半端な調査おわり。
追記(2006/11/12): 微妙に視線を感じた気がしたので捕捉。 このケースで「わたしが」問題にしたかったのは ・brとbr/の差とか ・改行されないこととか ・改行されることとか じゃなくて、 ・「brの前に改行があるかどうか」で動作が違うこと です。どうにも説明がつかなさげに思います。 「一行目のナントカセレクタ?doctype宣言?とかContentType?次第で、brとbr/で処理の差が出たりとかするのかも知れない」とか、「改行されるべきかされないべきか」は考えるのが大変そうなので中途半端な捕捉終了。もう見てないかしら。
追記(2007/04/12): 上記コードはOpera9.20でも同じように表示されるようです。こんなページに辿りつく人ならすぐ試せると思いますが…。


