Хабр Курсы для всех
РЕКЛАМА
Большая витрина: от крупнейших школ до частных авторов. Сравнивайте по цене, длительности, формату и выбирайте самый подходящий курс!
Зачем использовать Javascript там где может справиться CSS?
details summary ~ div{ overflow: hidden; } details[open] summary ~ div{ animation: sweep 2s ease-in-out; } @keyframes sweep { 0% {max-height:0;} 100% {max-height:2000px;} }
Из комментариев к статье "Аккордеон, faq, спойлер и другие раскрывающиеся виджеты"
если контент больше 2000px то он обрежется
Ответ автора:
Если использовать animation, то max-height ставится и снимается во время анимации.
Соответственно элемент будет развёрнут до полного своего размера.
если меньше, то будет задержка при сворачивании
Можно перераспределить скорость выполнения анимации по времени так чтобы большая часть времени анимации приходилась на её завершение. Используется для этого animation-time-function.
Как анимировать элемент «details» с помощью WAAPI