I fucking love CSS, but certain kinds of layouts are annoyingly difficult to do &emdash; and very doable in table-based approaches. Since we sure as hell don’t wanna go down that road anymore, this article on position is everything is GOLD, JERRY.
Pure CSS-based layouts have come a long way but they still have shortcomings  that fail to address certain design goals without compromising the true separation of content and presentation. In short, the problematic design goals are these: Total Layout Flexibility That is, the ability to order columns logically in the source while displaying them in any order desired. For any number of columns. Equal Height Columns Or more accurately, equal height columns without having to rely on faux columns. Vertical placement of elements across grids/columns Designers face the choice of relying on elements being a particular height, resorting to tables or simply not bothering.