This is a very good article on how to “easily” create a flexible CSS based layout. The design uses a three-column format but could be changed to two.
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.
Read In search of the One True Layout or for more information on CSS I recommend The CCS Anthology: 101 Essential Tips, Tricks & Hacks