幅や高さを指定した要素の子孫要素でデフォルト指定のマージンが消える

症状

widthプロパティやheightプロパティにauto以外の値を指定した要素の子孫に、デフォルトでマージンがある要素(p, blockquote, ulなど)があるとき、デフォルトのマージンが消えることがある。

例示

<div style="width:50%; padding:2px; background:blue;">
<p style="background:aqua;">p要素</p>
</div>
<div style="width:50%; padding:2px; background:red;">
<ul style="background:yellow;"><li>ul要素</li></ul>
</div>

p要素とul要素でマージンの設置状態を確認しています。p要素やul要素のボックスの上下に1emずつ、青色や赤色の領域が設置されるはずです。

スクリーンショット

Ns7.1Netscape7.1標準モード

WinIE6.0WinIE6.0標準モード

補足

制作者や閲覧者がスタイルシートを用いて指定したマージンは正しく設置されます。

<div style="width:50%; padding:2px; background:blue;">
<p style="background:aqua; margin:1em 0;">p要素</p>
</div>
<div style="width:50%; padding:2px; background:red;">
<ul style="background:yellow; margin:1em 0 1em 40px;">
<li>ul要素</li></ul>
</div>

p要素

  • ul要素

修正状況

WinIE6.0の標準モードと互換モードで不具合の発生を確認しました。

WinIE7でも発生します。

関連記事

スポンサーリンク

is_cached() テンプレートが有効なキャッシュを持つ場合にtrueを返します

ホームページ製作・web系アプリ系の製作案件募集中です。

上に戻る