公開日: 2009年02月10日(Tue)
昨日の記事 【CSS】 上下のマージンは互いに相殺されるようだ。 の続き。
IE(6も7も)で<hr>タグの上下にマージンを設定してみても、なぜか相殺されないようだ。
ためしに <hr>タグに display:block;
をかけてみると相殺されるようになるので、もしかしたら IE は <hr>タグをブロック要素だと思っていないのかも知れない。(display:table;
とかだと思ってるのかな?)
ヨモツネットさんの記事『hr 要素についておさらいしてみる』を読むと、「(XHTML1.1までの) hr要素は特に意味を持ったタグではない」し、「img要素や object要素などと同じ置換要素」であって、「罫線とその周囲のコンテンツの間に挿入される垂直方向の空間の分量は、ユーザエージェント依存である」ため、何者として扱われても文句言えない、そういう仕様だという雰囲気。
まぁ、深く考えるのはやめて、「display:block;
を指定したら他のブラウザと同じ挙動になってウレシイよー!」くらいに捉えとけばいいかな。
<hr>タグに関連する他の記事をいくつか・・・。
公開日: 2009年02月10日(Tue)