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).
@author Thomas Morgner