如果不定义浮动的话,各个div的内容在页面上是由上向下排列的。 而如果某个div定义了float: left,那么这个div就会出现在上层div下最靠左的位置,而与它同一等级,但列在它后面的div就会显示在他的右侧了。 同样,如果定义了float:right,那么这个div就会出现在上层div下最靠右的位置,而与它同等级,但列在它前面的div就会显示在他的左侧。 两栏或多栏式页面布局就会用到它。
clear:both; CSS手册上这样解释的:该属性的值指出了不允许有浮动对象的边。 这个属性是用来控制float属性在文档流的物理位置的。 当属性设置float(浮动)时,他所在的物理位置已经脱离文档流了,但是大多时候我们希望文档流能识别float(浮动),或者是希望float(浮动)后面的元素不被float(浮动)所影响,这个时候我们就需要用clear:both;来清除clear:both; 例子: <p style="float:left;width :100px;">这个是第1列,</p> <p style="float:left;width :400px;">这个是第2列,</p> <p >这个是列的下面。</p> 如果不用清除浮动,那么第3个<P>的文字就会和第一二行在一起 所以我们在第3个这利加一个清除浮动。 <p style="float:left;width :100px;">这个是第1列,</p> <p style="float:left;width :400px;">这个是第2列,</p> <p clear:both;>这个是列的下面。</p>