浅谈CCS中float的实质

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

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

.扑克牌{float:left;}



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