この問題はIE8とChromeで発生しているため、これは標準的な問題だと思います。
コンテンツはないが、CSSで背景画像と高さ/幅が設定されているDIVを使用して、ヘッダーとメニューを含むサイトを作成しています。内側のDIVに親のdivに対してマージンを持たせたいのですが、それはマージンを親のdivに適用します。コンテンツをdiv内に配置すると、これが修正されます。IE7にはこの問題はありません。 それは物事を捨てて、それはハックのように見えるので、私は使いたくありません。
以下で再作成するサンプルコードを参照してください。
<style>
#header{
width:600px;
height:300px;
background-color:red;
}
#headerMenu{
height:100px;
width:500px;
margin-left:auto;
margin-right:auto;
background-color:blue;
margin-top:20px;
}
</style>
<div id="header">
<div id="headerMenu">
</div>
</div>
親のdivコンテンツまたは境界線を指定すると、レイアウトは正しく機能します。私はこのサイトでこれと同じ問題を数回経験しました。メニュー項目のリストにマージントップを付けたかったのですが、headerMenu div(その親)にもコンテンツがないため、プロパティがバブルになります。
どうしたの?