Пусть в ячейке таблицы размещается div, а для div-a задаётся класс:
.cutted {
overflow: hidden;
text-overflow: ellipsis;
white-space: nowrap;
}
Чтобы text-overflow: ellipsis; срабатывал, требуется чтобы ширина колонки была фиксированной. Это достигается с помощью
table {
table-layout: fixed; /* нужно, чтобы срабатывал класс .cutted */
}
Но если этот же div поместить вместо таблицы в список, то div растягивается по ширине содержимого, растягивая по ширине и весь список.
Если ширину div-a или li задать явно, например, width: 300px;, то text-overflow: ellipsis; начинает работать.
Как заставить работать text-overflow: ellipsis; для div-a, помещённого в список, не задавая ширину списка или блока явно?