There are multiple ways to achieve this layout, whether using floats or table structure. A contentious debate exists between advocates of tables and proponents of floats. Personally, I tend slightly towards utilizing table layout, but each method has its own strengths. Below is an example focusing on the tabular approach:
<table style="table-layout:fixed;width:100%">
<colgroup><col style="width:33%"/><col style="width:33%"/><col style="width:33%"/></colgroup>
<tr>
<td style="vertical-align:top">
<div style="border:1px solid red">
column one with some lengthy text that needs to wrap while maintaining 33% width
</div>
</td>
<td style="vertical-align:top">
<div style="border:1px solid green">
column two
</div>
</td>
<td style="vertical-align:top">
<div style="border:1px solid blue">
column three
</div>
</td>
</tr>
</table>
For a visual representation, refer to this link:
http://jsbin.com/axojo