2つのブロック要素(divなど)の間で正反対のマージン(マージンボトムに続くマージントップ)がマージされるのに、ブロック要素とテーブルの間では、これらのマージンが合計されるのはなぜだろうか。
例:
<style>
.a { margin-bottom: 18px; }
.b { margin-top: 6px; }
</style>
<div class="a">Foo</div>
<div class="b">Bar</div>
...
<table class="a">...</table>
<div class="b">Bar</div>
注意:テーブルの表示プロパティを「ブロック」に変更すると、他のブロック要素のペアと同じように動作し、それらのマージンがマージされます。
何故ですか?