Я хочу создать расширяемый блок с использованием css-переходов.CSS3 сбой работает с задержкой
.box {
width: 300px;
max-height: 30px;
overflow: hidden;
background: #aaa;
-webkit-transition: max-height 400ms ease-in-out;
-moz-transition: max-height 400ms ease-in-out;
-ms-transition: max-height 400ms ease-in-out;
-o-transition: max-height 400ms ease-in-out;
transition: max-height 400ms ease-in-out;
}
.box.open {
max-height: 999px;
}
Вот рабочий пример: http://jsfiddle.net/qswgK/.
Когда я расширяю блок, он хорошо скользит вниз, но когда я хочу свернуть его, это происходит с некоторой задержкой. Это замечено в последних версиях Chrome, Firefox, Opera и IE. Почему это происходит, и я могу избежать этого без использования анимации javascript?
P.S. Если использовать высоту анимации вместо max-height, сбой работает хорошо, но мне нужно свернуть и развернуть блок с неизвестной расширенной высотой.
Благодарим вас за объяснений! Если отрегулировать продолжительность анимации, это будет работать, как ожидалось. Но теперь я понимаю, что самое правильное решение будет с расчетной высотой на javascript. –
Полностью согласен. Использование расчетной высоты было бы решением, мое предложение было не более чем обходным путем) –