These divs now float side by side to create columns. This is div 1 with a little text to give it some height...
This is div 2 with a little more text so it's a different height than the other two...the third column now is the longest so it sets the footer position.
This version uses the Aslett clearing method which uses the CSS :after psuedo-class to add content and force the container to enclose the floats, and only requires a class to be added to the markup, instead of a "clearing" element.