三 29 2010
css中关于浮动的若干理解
以下一个页面布局,因为整个是居中对齐,所以在12345的外围嵌套了一个大div,然后,下面的要是:
要求不嵌套,怎么才能写出正确的浮动,float
想了一下,为了让2浮动,首先定义1是浮动对象,所以1是float:left,肯定没错
2要打断当前文档流,肯定也是左浮动是float:left,3呢可以是float:right右浮动,也可以是左浮动,我习惯于左浮动
问题出在4,按照常规想法,既然是要在3的下方,那么他不需要浮动,直接去掉浮动属性就可以,但是如果这样那么,他的margin之类的属性都会消失,所以他必须浮动,如果是左浮动,那么,他因为大div的宽度限制,将自动转到下一行,出现在指定位置,当时走了弯路,以为应该在3的下方清除下浮动,因为清除了3的浮动,应该就在下面另起一行,结果却大相径庭,如果是在3的下方清除左浮动,那么,4将出现在1的下方,即是如图红色虚线所示,在1的高度下浮动,并没有按照要求跟2对齐,clearboth也同样,clear:right是正常的,怎么来理解呢,清除了3右侧的浮动,4自然而然应该跟2对齐,因为有1的高度做支撑.

