*{margin: 0;padding: 0;}
#div2{width: 1000px;height: 400px;background: #555;margin: 0 auto;}
#div4{width: 500px;background: red;margin: 0 auto;}
#div5{width: 500px;background: green;margin:0 auto;position: absolute;}
#div6{width: 500px;background: blue;margin: 0 auto;}
<body>
<div id="div2">
<div id="div4">div4</div>
<div id="div5">div5</div>
<div id="div6">div6</div>
</div>
</body>
为什么div5会紧靠div2的左边而不是与div4垂直
div2加个position:relative 试试
#div5{width: 500px;background: green;margin:0 auto;position: float;}
如果你未设置left,top属性,top会自动为上一个元素的底部,left为其容器的左边
<style>
*{margin: 0;padding: 0;}
#div2{width: 1000px;height: 400px;background: #555;margin: 0 auto;}
#div4{width: 500px;background: red;margin: 0 auto;}
#div5{width: 500px;background: green;margin:0 auto;position: absolute;}
#div6{width: 500px;background: blue;margin: 0 auto;}
</style>
<body>
<div id="div2">
<div id="div4">div4</div>
<div id="div6">div6</div>
<div id="div5">div5</div>
<div style="width:800px;background:#fff;margin:0px auto">white
<div >div9</div>
<div id="div5">div5</div></div>
</div>
</body>
你应该设置div5的偏移量,,因为div是块状元素,它会独自占领一行,你使用绝对定位,它会自动的按照块状元素先占领在它原来的位置,,你试试,,我没怎么关注过这个问题,,也是新手,如有错误,请指出,互相请教