我有这个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>
我以为它会把蓝色的盒子放在绿色的盒子之后(流动布局),但它会把它移到红色容器的边缘,这真的很奇怪。任何想法为什么它不会流动?
答案 0 :(得分:2)
'float'表示'移动到那一侧并允许任何后续出现在另一侧'
由于您向右浮动蓝色,它出现在其容器的最右侧。
由于蓝色和蓝色旁边有空间浮动,绿色出现在蓝色旁边。绿色出现在左侧,因为它没有任何东西可以改变其默认的水平位置(例如边距或触摸绿色)。
答案 1 :(得分:1)
答案 2 :(得分:1)
因为float
尽可能将元素移动到右侧和到顶部。
以下是管理浮动行为(from W3)的准确规则:
正如您所看到的,漂浮的盒子往往会出现在顶部。如果你要漂浮其他盒子,那么订单就很重要了。如果只有一个漂浮,它会推动所有其他的。
答案 3 :(得分:0)
Float将项目移动到父元素的最左侧或右侧。
为什么不将它放在绿色div之后,并将float:left应用于两者?