@wiyod

Как анимировать height?

Не могу понять как анимировать аккордеон нормально используя height.

.acc_panel {
  background: #F2F2F2;
  height: 0;
  overflow: hidden;
  transition: all 300ms;
}

.acc_panel.active {
  height: auto;
  transition: all 300ms;
}


Ни auto, ни 100% не анимируется.
Как сделать? https://codepen.io/kodej/pen/PONeme
Если не height, как красиво анимировать аккордеон?

Знаю есть уродливый хак с большим max-height, но это не нормально.
  • Вопрос задан
  • 819 просмотров
Пригласить эксперта
Ответы на вопрос 3
@Gortyser
display: none;
В данном случае проблема в том, что именно height: auto анимироваться не будет. Поэтому с css такое сделать не выйдет, придётся подключать js.
Конкретной реализации не скажу, идея заключается в считывании scrollHeight нужного элемента.
Ответ написан
daaner
@daaner
Человек, как человек
лучше скриптом scrollDown и scrollUp
ссылка
Ответ написан
userAlexander
@userAlexander
Верстка наше все)
Реализация аккордеонов только на JS прошлый век, попробуйте написать с использованием css transition, а JS только для добавления/снятия высоты и классов.
Для оптимизации самое то!
Ответ написан
Ваш ответ на вопрос

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

Похожие вопросы