Уменьшение размера текста относительно его количества — как действовать?

Спасибо дизайнерам за такую удачу заниматься полной ерундой.

Задача. Есть блок динамичного текста (он может быть разного размера). Сам блок имеет фиксированную высоту.
Текст может не вмешаться - проблемес.
Я решил, что надо регулировать размер текста, если он не влезает по высоте в родителя.

Как действовать? Как мыслить?
Что-то ума не приложу: сравнивать высоту родителя и текста и, если высота текста больше - уменьшать его размер на единицу, пока высота не станет меньше или равна?
  • Вопрос задан
  • 392 просмотра
Пригласить эксперта
Ответы на вопрос 3
letehaha
@letehaha
Вникаю вo front-end
А если заюзать text-overflow: ellipsis? А если человек хочет до конца прочитать, то по тыку убирать это свойство и контейнер меняет свою высоту в зависимости от текста. Типо как в вк "Читать далее".
Ответ написан
paulradzkov
@paulradzkov
Дизайнер, верстальщик, начальник отдела UI
Можно попробовать использовать transform: scale().

1. Узнавать через js высоты контейнера и блока текста. Текст пока с прокруткой.
2. Высчитывать через пропорцию коэф. уменьшения, чтобы выровнять высоту блока текста и контейнера.
3. Применять к блоку с текстом transform: scale() с вычисленным коэффициентом. Тогда видимая ширина блока текста внутри контейнера уменьшится, появятся margins справа и слева.
4. На тот же коэффициент увеличить ширину блока текста. Тогда текст начнет занимать меньше строк и под текстом появится пустое пространство.
5. Похимичить с формулами, чтобы отступ снизу был минимальным.

Может этот вариант натолкнет вас на решение. По крайней мере у него фиксированное количество итераций.
Ответ написан
dom1n1k
@dom1n1k
Не надо фантазировать на пустом месте.
Если текст не очень важен - обрезать с многоточием.
Если важен - блок скроллится.
Всё.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы