【CSS×IE】 <hr>タグはブロック要素じゃないのかな?

昨日の記事 【CSS】 上下のマージンは互いに相殺されるようだ。 の続き。

IE(6も7も)で<hr>タグの上下にマージンを設定してみても、なぜか相殺されないようだ。

ためしに <hr>タグに display:block; をかけてみると相殺されるようになるので、もしかしたら IE は <hr>タグをブロック要素だと思っていないのかも知れない。(display:table; とかだと思ってるのかな?)

ヨモツネットさんの記事『hr 要素についておさらいしてみる』を読むと、「(XHTML1.1までの) hr要素は特に意味を持ったタグではない」し、「img要素や object要素などと同じ置換要素」であって、「罫線とその周囲のコンテンツの間に挿入される垂直方向の空間の分量は、ユーザエージェント依存である」ため、何者として扱われても文句言えない、そういう仕様だという雰囲気。

まぁ、深く考えるのはやめて、「display:block; を指定したら他のブラウザと同じ挙動になってウレシイよー!」くらいに捉えとけばいいかな。

<hr>タグに関連する他の記事をいくつか・・・。


プロフィール

コヤナギ トモヤ

まったりウェブ系コーダーしてます。PHP製静的CMS Pickles 2 を開発しています。

RSSフィード

  • このサイトは、 コヤナギ トモヤ の個人サイトです。
  • 個人的な主張や、活動の記録などを掲載しています。 所属する企業、団体、その他の意見や立場を代表するものではありません。
  • 掲載された内容は古くなっている可能性があります。 特に古い記事では、現在の筆者の考えと異なる主張をしていることがありますが、記録としてそのまま残しております。 予めご了承ください。
ページの先頭へ戻る