В последнее время я заметил эту проблему, когда пытался попробовать что-то.Анимация высотой свойства :: HTML + CSS + JavaScript
Скажите, что я хочу создать раскрывающееся меню или аккордеон.
Это мой HTML:
<div class="wrapper" onclick="toggle()">
I want to be animated!
<div class="content">
Was I revealed in a timely fashion?
</div>
</div>
Stylesheets:
.wrapper {
background: red;
color: white;
height: auto;
padding: 12px;
transition: 2s height;
}
.content {
display: none;
}
.content.visible {
display: block;
}
JavaScript:
function toggle() {
var content = document.getElementsByClassName('content')[0];
var test = content.classList.contains('visible');
test ? content.classList.remove('visible') :
content.classList.add('visible');
}
Я пытаюсь достигнуть хорошего, плавную анимацию, когда мы переключаем состояние Контент. Очевидно, это не работает. Кто-нибудь может объяснить мне, почему это не работает и как это исправить? Большое спасибо.
Ссылка на JSFiddle.
Оживляющий для автоматической расчетной высоты одна из тех вещей, которые гораздо сложнее, чем это должно быть. Взгляните на это сообщение SO http://stackoverflow.com/questions/3508605/how-can-i-transition-height-0-to-height-auto-using-css – mcgraphix
вам нужно перейти от 2 значений и переход: пример http://jsfiddle.net/u9q42yqu/8/ visible/hidden - none/block - 2 состояния, и переход не может быть выполнен. это либо видно, либо нет :) –
@GCyrillus: Спасибо! Однако, что, если я не знаю высоту содержимого внутри? Как это часто бывает ... плюс, когда нам приходится учитывать отзывчивый дизайн. – lmenus