Для неразрывных строк всё просто
... {
white-space: nowrap;
overflow: hidden;
text-overflow: ellipsis;
}
Для нескольких строк, увы, всё куда хуже.
Для webkit есть
правило -webkit-line-clamp, позволяющее задать количество строк. Естественно, white-space не нужен.
Для остальных это всегда будут
эмуляции — либо JS-решения, либо абсолютно позиционированная псевдобласть (чаще всего ::after) с многоточием.