Если вы просто хотите, чтобы таблица автоматически разметилась
Без использования max-width, или процентной ширины столбца, и table-layout: fixedт. Д.
https://jsfiddle.net/tturadqq/
Как это работает:
Шаг 1: Просто дайте автоматическому расположению таблицы сделать свое дело.
Если в одном или нескольких столбцах много текста, остальные столбцы будут максимально уменьшены, а затем обернут текст длинных столбцов:

Шаг 2. Оберните содержимое ячейки в div, затем установите для этого div значение max-height: 1.1em
(дополнительные 0.1em предназначены для символов, которые визуализируются чуть ниже текстовой основы, например хвоста 'g' и 'y')

Шаг 3: Установите titleна divs
Это хорошо для доступности и необходимо для небольшого трюка, который мы будем использовать через минуту.

Шаг 4: Добавьте CSS ::afterна div
Это сложный момент. Мы устанавливаем CSS ::afterс помощью content: attr(title), затем помещаем его поверх div и устанавливаем text-overflow: ellipsis. Я покрасил его в красный цвет, чтобы было понятно.
(Обратите внимание, что длинный столбец теперь имеет многоточие)

Шаг 5: Установите цвет текста div на transparent
И мы сделали!

overflowхорошо. Попробуйте поместить div в ячейку и стилизовать этот div.