谈谈CCS中Float的实质

网络整理 - 07-27
当一个元素被设定为float后,那么它似乎不再属于这一行,也就是说,下一个元素可以跳到这一行来显示,但第一个元素无论如何总要占据一定的空间(当然还是在这一行),如果float:left,那么就意味着它将漂浮在这一行的最左边,如此,第二个元素便紧贴其后(本来要冲到最左边的,但第一个元素把最左边的位子占了,先来后到,没有办法,只好坐在人家的右边);如果float:right,那么第一个元素将漂浮到最右边,同理,第二个元素跑到这行来显示,由于第一个元素不再在最左边,所以第二个元素可以名正言顺地坐上头把交椅(这一行的最左边)。同理,有三个或多个元素时,也一样遵循这条法则。

Float是有很大用途的,但也不是想很多人说的可以替代一切。
Float通常是用来将默认 Display属性为非inline值 的标签以left或right的方式在一行中篇列,也可以理解为并排排列。
好像玩扑克牌,如果你想把扑克牌从左到右的排列而又不想考虑扑克牌的宽度和后续扑克牌的X轴坐标位置。那你就可以用

.扑克牌{ float:left; }


还有用什么方法并没有错,不要迷信别人说的用“position:absolute定位”就是错的。position:absolute在解决很多问题中都很有用。
不要把问题单一化,规则化,才是好的做法。
我在做的东西也很多都用“position:absolute定位”但只要你自己觉得这样用最简化的最有效的解决了你的问题就是好的。
在多浏览器兼容问题上我觉得“position:absolute定位”很有优势。但一定要考虑“position:absolute定位”的环境适应度问题。