Если вы просто хотите, чтобы таблица автоматически разметилась
Без с использованием max-width
, или шириной столбца в процентах, или table-layout: fixed
и т. Д.
https://jsfiddle.net/tturadqq/
Как это работает:
Шаг 1: Просто позвольте автоматическому расположению таблицы делать свое дело.
Если в одном или нескольких столбцах много текста, остальные столбцы будут максимально уменьшены, а затем обернут текст длинных столбцов:
Шаг 2: Оберните содержимое ячейки в div, затем установите для этого div значение max-height: 1.1em
(дополнительные 0,1em предназначены для символов, которые отображаются немного ниже основания текста, например хвоста 'g' и 'y')
Шаг 3: Установите title
в div
Это хорошо для доступности и необходимо для небольшого трюка, который мы будем использовать в ближайшее время.
Шаг 4: Добавьте CSS ::after
в div
Это хитрый момент. Мы устанавливаем CSS ::after
с content: attr(title)
, затем помещаем его поверх div и устанавливаем text-overflow: ellipsis
. Я покрасил его в красный цвет, чтобы было понятно.
(Обратите внимание, что длинный столбец теперь имеет многоточие)
Шаг 5: Установите цвет текста div на transparent
И мы закончили!