私たちのプロジェクトの 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 の高さを返す必要があることを意味します。
そのため、子の最上部に上マージンを持つ要素がある場合、親の高さを計算するときにこの高さが考慮されているようです。これはバグですか?これは意図したものですか?何の目的で?