Использование position: absolute;
- это, как правило, плохая идея в Datatables и любом другом плагине, который автоматически изменяет размер содержимого, так как предотвращает их полную адаптацию, может решить одну проблему, но порождает другую.
Самый чистый способ будет иметь white-space: nowrap;
. Если это делает ваши заголовки слишком близкими друг к другу, просто добавьте чистое поле после каждой ячейки:
table.dataTable thead th, table.dataTable thead td {
white-space: nowrap;
}
table.dataTable thead th::after,
table.dataTable thead td::after,
table.dataTable tfoot th::after, /* Don't also forget to give your footer the margin, to keep the header/footer properly aligned */
table.dataTable tfoot td::after {
margin-right: 7px!important;
}
Обратите внимание, что таким образом вы не нарушите первоначальный макет таблицы, зафиксировав значения, что позволит освободить Datatables изменить размер заголовков так, как пожелает впоследствии. Что важнее, чем просто заставить его работать, заставить его работать более чистым способом.
В противном случае, другое крайнее решение, которое я когда-то использовал в одном из моих проектов, - это окончательное удаление значка сортировки, сохраняя при этом сортировка заголовков, так как когда у вас большие имена заголовков, это кажется более удобным, и большинство клиентов считают, что уже естественно нажимать на заголовок для сортировки
table.dataTable thead .sorting::after,
table.dataTable thead .sorting_asc:after,
table.dataTable thead .sorting_desc:after {
content: '';
}