Если вы просто хотите, чтобы таблица автоматически разметилась
Без использования 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.