私たちのプロジェクトの 1 つで、すべての主要なブラウザー (Firefox 22.0、Chrome 28.0.1500.72 m、IE 10.0.9200.16521) で次の奇妙な計算に気付きました。
次の HTML コードを考慮してください。
<div>
<div style="height:100px">Head</div>
<div style="height:200px">
<p style="margin:10px">This goes wrong</p>
Wrong wrong wrong
</div>
</div>
<div>
<div style="height:100px">Head</div>
<div style="height:200px">
Right right right
<p style="margin:10px">This goes right</p>
Right right right
</div>
</div>
コード例は、http: //jsfiddle.net/Cnjdg/でも見つけることができます。
2 つのトップレベル DIV の計算された高さを調べると、奇妙なことに気付くでしょう: DIV1 の高さは 310px で、DIV2 の高さは 300px です...ロジックは、DIV がその子と同じ高さであることを教えてくれます (特に、特別なスタイリングがないため)適用されている)私にとっては、両方の DIV 要素が 300px の高さを返す必要があることを意味します。
そのため、子の最上部に上マージンを持つ要素がある場合、親の高さを計算するときにこの高さが考慮されているようです。これはバグですか?これは意図したものですか?何の目的で?