A block box behaves according to the 'display:block' layouting rules. In the
simplest case, all childs will consume the complete width and get stacked
below each other.
Live would be boring if everything was simple: Floats and absolutly
positioned elements enrich and complicate the layout schema. Absolute
elements do not affect the normal flow, but inject an invisible placeholder
to keep track of their assumed normal-flow position.
(Using Mozilla's behaviour as reference, I assume that absolutly positioned
elements are controled from outside the normal-flow (ie. parallel to the
normal flow, but positioned relative to their computed placeholder position
inside the normal flow. Weird? yes!)
Float-elements are positioned inside the block context and reduce the size of
the linebox. Float-elements are positioned once when they are defined and
will not alter any previously defined content.
As floats from previous boxes may overlap with later boxes, all floats must
be placed on a global storage. The only difference between absolutely
positioned and floating elements is *where* they can be placed, and whether
they influence the content under them. (Floats do, abs-pos dont).