Как плавно развернуть div?

Есть div который изначально скрыт, но при клике на кнопку плавно разворачивается.
Способ с display: none, а потом display: block не подходит так как не плавный.
Способ с opacity: 0 , а потом opacity: 1 тоже не подходит так как нужно чтобы элемент убирался из потока.
Способ с max-height: 0, а потом max-height: *какое-то число* тоже не подходит так как со временем в div будут добавляться новые элементы и высота будет изменяться.

Как это сделать? Желательно решение на JavaScript.
  • Вопрос задан
  • 2462 просмотра
Решения вопроса 2
Способ с max-height: 0, а потом max-height: *какое-то число* тоже не подходит так как со временем в div будут добавляться новые элементы и высота будет изменяться.


Можно обернуть контент блока, у этой обёртки мы будем брать clientHeight и присваивать это значение в max-height родителя

Вот, можно посмотреть здесь, возможно код не очень хороший, но суть уловить можно
https://codepen.io/Kirill9011/pen/BajEwBJ?editors=0010
Ответ написан
Комментировать
Spartak-2205
@Spartak-2205
Разработка и создание сайтов
Если в проекте используется jquery, то через .slideToggle() или аналог jQuery slideToggle на чистом Javascript
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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