某个块级元素被设置float后,就不能占一行,例如设置float:left,后面有足够空间放置后面的float:left的其他元素,后面就会布置其他元素
例如:
第一个div和第二个div都设置向左浮动,只要一行空间能容纳第二个,第二个就会跟着第一个,类似,能容纳第三个,那么就会是一行三个,后面还有空间,也可以容纳其他不是浮动的元素整题或者是一部分(发现块级元素:div,p都行)。
当都设置为float:reight时,两个div块级元素会根据代码中先后顺序从右往左排,占满一行后,再从下一行开始,再从右往左排
如图:
一行能放开三个时:
一行放不开三个时:(主要看width和是不是超过100%)
空间顺序为 2 1
3
可以看到都是从右往左排,第三个因为第一个高度比第二个高,所以第一个对应这一行实际没占满,所以第三个就会优先考虑再在第一个的空白先右布置,如果第一个和第二个高度相等,那么第三个就会在第一个的下面靠边开始。如图:
其他div块级元素(第二个div)设置clear:left清除左浮动时(取消对前面左浮动元素环绕),认为前面的第一个占一行,自己就从下一行开始。
第二个div设置clear:right清除右浮动时(取消对前面第一个右浮动元素环绕),认为前面的占一行,第二个div就再从下一行开始