table-layout выбирает алгоритм раскладки ячеек, строк и колонок таблицы:
table-layout: auto | fixed | initial | inherit;
auto — автоматический алгоритм: ширину колонки задаёт самое широкое «неразрывное» содержимое. Контент диктует раскладку.
fixed — раскладка фиксируется по первой строке. Задали ширины — остальная таблица следует им. Без ширин колонки делятся поровну, независимо от содержимого.
initial — значение по умолчанию.
inherit — наследование от родителя.
table {
table-layout: fixed;
width: 100%;
}
Итог
fixed предсказуемее и часто быстрее на больших таблицах; auto удобнее, когда колонки должны подстроиться под контент.