我在 IE8 和 Chrome 上发生了这个问题,这让我认为这是一个标准问题。
我正在使用没有任何内容但在 CSS 中设置背景图像和高度/宽度的 DIV 创建一个带有标题和菜单的站点。我希望内部 DIV 对父 div 有边距,但它将边距应用于父 div。将内容放在 div 中可以解决此问题。IE7没有这个问题。我不想使用
,因为它确实把东西扔掉了,而且看起来像是一个 hack。
请参阅下面重新创建的示例代码:
<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(它的父级)也没有任何内容,它会使属性冒泡。
这是怎么回事?