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要素でマージンの設置状態を確認しています。p要素やul要素のボックスの上下に1emずつ、青色や赤色の領域が設置されるはずです。
スクリーンショット
Netscape7.1標準モード
Opera7.51標準モード
補足
制作者や閲覧者がスタイルシートを用いて指定したマージンは正しく設置されます。
<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要素
修正状況
- Opera7.51の標準モードと互換モードで不具合の発生を確認しました。
- Opera6.06でこの不具合は発生しないようです。


