Чтобы расширить ответ Кена, вы также можете указать точную ширину в пикселях:
td { width: 250px }
или ems (ширина буквы м):
td { width: 32em }
или ex или pt или что-то еще (ну ... на самом деле это может быть%, pt, px, em, ex). Если вам нужно, чтобы ваши столбцы были разной ширины, то проще всего указать классы ячеек таблицы:
<table><tr>
<td class="col1">...</td><td class="col2">...</td>...
</tr></table>
и назначьте ширину столбцов для классов:
td.col1 { width: 48em }
td.col2 { width: 200px }
...
Должно быть достаточно назначить ширину столбцов первой строке в каждой таблице. [править: похоже, что меня это зачерпнуло, пока я писал]
Возможно, вы также можете сойти с ума с селектором родного брата CSS 2 и написать что-то вроде
tr > td:first-child { width:48em } /* first column */
tr > td:first-child + td { width: 200px } /* second column */
tr > td:first-child + td + td { width: 5% } /* third column */
...
но если у вас больше нескольких столбцов, это может стать уродливым. И если вы используете какую-то систему шаблонов или скрипт для генерации этих таблиц, я уверен, что будет проще / понятнее просто поставить атрибут class = "col #" в каждую ячейку вашего шаблона один раз.