Просто используйте процентную ширину и фиксированную разметку таблицы :
<table>
<tr>
<td>1</td>
<td>2</td>
<td>3</td>
</tr>
</table>
с
table { table-layout: fixed; }
td { width: 33%; }
Фиксированная разметка таблицы важна, так как в противном случае браузер будет регулировать ширинукак он считает нужным, если содержимое не подходит, т. е. в противном случае ширина является предложением, а не правилом без фиксированного макета таблицы.
Очевидно, настройте CSS в соответствии с вашими обстоятельствами, что обычно означает применение стиля только ктаблицы с заданным классом или, возможно, с заданным идентификатором.