I\'ve worked mostly with table-based layouts up to this point, but since it\'s considered a no-go thing of the past now I\'ve taken on the task of learning DIV-based layouti
here is an example using pure css
body{margin-bottom:50px}
div.holder { overflow:hidden }
div.holder div { float:left; width:30%; background-color:#9C0; margin-right:5px; padding:10px; padding-bottom:9000px; margin-bottom:-9000px }
http://abcoder.com/wp-content/uploads/2009/09/css-equal-height-three-column-layout.html
If the standards don't let you do what you need, screw them and use a table.
There is no perfect way as far as I know, and this is one of the weak points of CSS.
In your case, however, you may be able to work with the Faux Columns technique.