Как реализовать плавное выпадение текста?

Ссылка скопирована
29 марта 2026 1 ответ

Я сделал при клике на кнопку, чтобы высота блок плавно увеличивалась как в красном блок, только мне надо чуток сделать по другому, у меня есть желтый блок, у меня должно отображаться только первая строчка все остальное предложение должно быть ... в трех точках и когда я нажимаю на кнопку я бы хотел, чтобы оно также плавно опускалось как и красный блок, а не сразу весь текст отображался?
snippet

Дополнительно:

удалить overflow: visible;

а для многоточия у класса qwe нужно делать обрезание текста

.second__wrapper .qwe{ ... } .second__wrapper.open .qwe{ ... }

.second__wrapper .qwe{ ... } .second__wrapper.open .qwe{ ... }

  • snippet
    Не сильно понял , когда я добавил white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis; для класса .qwe у меня вообще пропал текст из видимости , а мне надо , чтобы условно отображалась одна строчка , и она обрезана троеточием , а когда я добавляю open троеточием убирается и выпадает весь текст ?
  • Old_Chicken,
    .second__wrapper {    width: 200px;    background: yellow;    display: grid;    grid-template-rows: 0fr;    transition: grid-template-rows 0.5s ease; } .qwe {    min-height: 25px;    white-space: nowrap;    overflow: hidden;    text-overflow: ellipsis; }  .second__wrapper.open {    grid-template-rows: 1fr;    } .second__wrapper.open .qwe{   white-space: wrap; }

    .second__wrapper { width: 200px; background: yellow; display: grid; grid-template-rows: 0fr; transition: grid-template-rows 0.5s ease; } .qwe { min-height: 25px; white-space: nowrap; overflow: hidden; text-overflow: ellipsis; } .second__wrapper.open { grid-template-rows: 1fr; } .second__wrapper.open .qwe{ white-space: wrap; }

Нужно решить такую задачу?

Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.

Заказать помощь
Лучший ответ
1
Никита Орлов Ответ

Для реализации плавного выпадения текста на веб-странице можно использовать CSS свойство transition. Сначала установим начальное состояние элемента, который будет выпадать:

 
    .hidden-text {
        max-height: 0;
        overflow: hidden;
        transition: max-height 0.5s ease;
    }

.hidden-text { max-height: 0; overflow: hidden; transition: max-height 0.5s ease; }

Здесь мы устанавливаем максимальную высоту элемента на 0 и скрываем его содержимое с помощью свойства overflow: hidden. Также добавляем плавный переход для изменения максимальной высоты с помощью transition.

Теперь добавим класс hidden-text к элементу, который мы хотим сделать выпадающим:

<div class="hidden-text">
    <p>Скрытый текст здесь</p>
</div>

<div class="hidden-text"> <p>Скрытый текст здесь</p> </div>

Для того чтобы сделать текст появляющимся при наведении курсора, можно использовать псевдокласс :hover:

 
    .hidden-text:hover {
        max-height: 100px; /* Устанавливаем максимальную высоту для текста */
    }

.hidden-text:hover { max-height: 100px; /* Устанавливаем максимальную высоту для текста */ }

Теперь при наведении курсора на элемент с классом hidden-text его содержимое будет плавно выпадать на максимальную высоту 100px. Можно также настроить другие параметры, такие как продолжительность анимации (0.5s в данном случае) и тип анимации (ease, linear, etc.).

Надеюсь, это поможет вам реализовать плавное выпадение текста на вашем сайте!

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно