Без остальной части вашего кода я выхожу здесь на конечность, но <td>
автоматически изменит размер в зависимости от ширины таблицы / количества столбцов в таблице. Если вашей таблице не назначена явная ширина, она расширится до 100% ширины своего контейнера или родительского элемента. Вы можете чувствовать себя комфортно, избегая этого, задав явную ширину таблицы или ячейки таблицы по мере необходимости.
В следующем сценарии каждый столбец будет автоматически изменен на размер таблицы / количество столбцов или в этом случае 400/4 = 100. Таким образом, каждый столбец будет иметь ширину 100 пикселей.
<table style="width:400px">
<td></td>
<td></td>
<td></td>
<td></td>
</table>
В зависимости от браузера в этом сценарии возможны два результата. 1. Таблица расширится до 100% ширины своего родителя, или 600 пикселей здесь. Это означает, что каждый столбец будет автоматически иметь ширину до 150 пикселей. 2. Таблица и столбцы могут расширяться до ширины самого широкого дочернего элемента в своей группе столбцов.
<body style="width: 600px"> <!-- Could be a div or other element here -->
<table>
<td></td>
<td></td>
<td></td>
<td></td>
</table>
</body>
Спецификацию WC3 можно найти здесь и предоставляет некоторые подробные сведения о том, как браузеры предполагают для реализации спецификации HTML 4.01 в отношении таблиц.