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