Just give the first column a width
of 100%
and if necessary give the cells in all other columns a white-space: nowrap
to avoid their content being wrapped (again, only if necessary).
E.g.
<table>
<tr><td class="first">first</td><td>second</td><td>third</td></tr>
<tr><td class="first">first</td><td>second</td><td>third</td></tr>
<tr><td class="first">first</td><td>second</td><td>third</td></tr>
</table>
with
table { width: 100%; }
table td.first { width: 100%; }
Or the modern way if you don't bother about IE6 users:
table { width: 100%; }
table td:first-child { width: 100%; }
(so that you can remove class="first"
)