日期:2014-05-16  浏览次数:20644 次

div套div的内外边框问题

<body>  
   <div style="background: blue;margin: 10px;">
<img alt="" src="../images/eg_arrow.gif" style="margin:50px; padding: 50px;">
<div style="margin: 20px;padding: 30PX;background-color: red">
hello
</div>
   </div>
   <div style="background: green;margin: 10px;">
<span>world</span>
   </div>
</body>



css?margin?padding

------解决方案--------------------
LZ应该设置外部DIV的style:padding:20px,内部DIV就不会和外部DIV重合了
------解决方案--------------------
呵呵,这个我倒是没怎么细究过。学习了

引用:
Quote: 引用:

LZ应该设置外部DIV的style:padding:20px,内部DIV就不会和外部DIV重合了



这个我知道。我只是想知道外边距为什么没用。

我好像懂了:在嵌套的情况下:相同元素的话,相邻的外边距会叠在一起,只取决与较大的外边距;不同元素的话外内嵌元素的外边距会起作用。(外边距是透明的);在同等级别下:相同元素的外边距相邻边的外边距会叠在一起,取决于大的外边距。不同元素的外边距会叠加。

------解决方案--------------------
margin+padding+border+width/height   是一个元素所占的区域

margin是两个元素之间的距离。这个距离可以被重叠覆。父元素和子元素之间用的是padding。
------解决方案--------------------
最主要原因是你没有设置外部div的height,所以外部div的最低层位置取决于红色背景的高度,如果设置外部div的height就可以了。其实你设置的红色背景的div的margin对于底部是没有意义的。