我有这个html和CSS:
<div style="background-color:Red; width:200px; height:200px;">
<div style="background-color:Blue; width:50px; height:50px; float:right;">aa</div>
<div style="background-color:Green; width:50px; height:50px;">aa</div>
我以为它会把蓝色的盒子放在绿色的盒子后面(流布局),但它把它移到了红色容器的边缘,这真的是wierd..Any的想法,为什么它不流动?
发布于 2011-06-30 23:53:41
“浮动”的意思是“移到那一边,让后面的任何东西都出现在另一边”
由于您是蓝色向右浮动,它会出现在其容器的最右侧。
由于蓝色旁边有空间,并且蓝色是浮动的,因此绿色出现在蓝色旁边。绿色出现在左侧,因为它没有任何东西可以改变其默认的水平位置(例如边距或接触绿色)。
发布于 2011-06-30 23:55:16
因为这就是float: right
所做的。
根据specification的说法
浮动框向左或向右移动,直到其外边缘接触到包含块的边缘或另一个浮动的外边缘。
发布于 2011-06-30 23:58:34
因为float
会将元素尽可能地向右和向上移动。
下面是控制浮点数行为的精确规则(from W3):
更远的位置相比,更高的位置更好
正如你所看到的,浮动的盒子倾向于放在最上面。如果你要浮动其他的盒子,那么顺序就很重要了。如果只有一个浮动,它就会把其他的都推来推去。
https://stackoverflow.com/questions/6537530
复制相似问题