一个大div里面定义两个div;第一个div用了float:left之后,第二个div:margin-left相对于大div???

<style>
.box{height:500px;width:1000px;margin:50px auto 0px;border:1px solid red;}
.left{float:left;height:400px;width:300px;border:1px dashed blue;}
.right{height:400px;width:500px;margin-left:100px;background:green;}
</style>
<div class="box">
<div class="left"></div>
<div class="right"></div>
</div>
为什么.right{margin-left:100px;}是相对于div.box的而不是相对于div.left的?

第1个回答  2015-06-28
是要让right那个div距离left那个div 100px 的距离么。把right那个div也设置为左浮动就可以了。

<div class="box">
<div class="left"></div>
<div class="right" style="margin-left: 100px; float: left;"></div>
</div>本回答被网友采纳
第2个回答  2019-08-13
因为float是相对于其包含块的,right和left的包含块都是box
第3个回答  2018-03-10
设置float后只有被前面的元素挡住,而不会挡住后面的元素
相似回答