Есть ли хороший способ обрезать текст с помощью обычного HTML и CSS, чтобы динамическое содержимое могло уместиться в макете с фиксированной шириной и высотой?
Я усекал на стороне сервера логическую ширину (то есть количество символов, которое было угадано вслепую), но поскольку 'w' шире, чем 'i', это имеет тенденцию быть неоптимальным, а также требует, чтобы я повторно угадал (и продолжал настраивать) количество символов для каждой фиксированной ширины. В идеале усечение должно происходить в браузере, которому известна физическая ширина отображаемого текста.
Я обнаружил, что IE имеет свойство text-overflow: ellipsis
, которое делает именно то, что я хочу, но мне нужно, чтобы оно было кроссбраузерным. Это свойство кажется (в некоторой степени?) Стандартным, но не поддерживается Firefox. Я нашел различные обходные пути на основе overflow: hidden
, но они либо не отображать многоточие (я хочу, чтобы пользователь знал, что контент был усечен) или отображать его все время (даже если контент не был усечен).
Есть ли у кого-нибудь хороший способ уместить динамический текст в фиксированный макет, или усечение на стороне сервера по логической ширине так же хорошо, как я собираюсь сейчас получить?