1

这不是生产问题,这只是我遇到并一直想知道的问题。内部 div 的边距不会获得父 div 的背景颜色,除非我为父 div 添加边框。因此,除非我在标题 div 中添加边框,否则 innerDiv 的边距不会获得标题 div 的背景。

<div id="container">
   <div id="header">
     <div id="innerDiv">Title</div> 
   </div>
   <div id="content" >

     <button>Remove Border</button>
   </div>

   <div id="footer" >
     footer
   </div>

</div>

这个小提琴希望能证明我的问题。 http://jsfiddle.net/eTq2P/6/

所以我不是在寻找解决方法,我想知道为什么除非向父 div 添加边框,否则边距不会获得父 div 的背景颜色。我期望边距包含在父 div 中。

4

2 回答 2

3

添加边框强制#header 包含#innerDiv,因此将其拉伸到#innerDiv 的大小。您可以通过添加无边界来完成相同的事情

#header {overflow: auto;}

另请参阅:CSS:添加边框会更改背景颜色(?!)

于 2013-02-13T18:37:36.303 回答
0

*{box-sizing:border-box;} 有很大帮助。

于 2013-02-13T20:07:37.873 回答