Tengo una animación CSS para un div que se desliza después de un período de tiempo determinado. Lo que me gustaría es que algunos divs llenen el espacio del div animado que se desliza, que luego empujará esos elementos hacia abajo en la página.
Cuando intento esto al principio, el div que se desliza todavía ocupa espacio incluso cuando no es visible. Si cambio el div a display:none
div no se desliza en absoluto.
¿Cómo puedo hacer que un div no ocupe espacio hasta que esté programado para entrar (usando CSS para el tiempo)?
Estoy usando Animate.css para las animaciones.
Así es como se ve el código:
<div id="main-div" class="animated fadeInDownBig"><!-- Content --></div>
<div id="div1"><!-- Content --></div>
<div id="div2"><!-- Content --></div>
<div id="div3"><!-- Content --></div>
Como muestra el código, me gustaría que el div principal estuviera oculto y los otros divs se mostraran al principio. Entonces tengo el siguiente retraso establecido:
#main-div{
-moz-animation-delay: 3.5s;
-webkit-animation-delay: 3.5s;
-o-animation-delay: 3.5s;
animation-delay: 3.5s;
}
Es en ese punto que me gustaría que el div principal empujara a los otros divs hacia abajo a medida que entra.
¿Cómo hago esto?
Nota: he considerado usar jQuery para hacer esto, sin embargo, prefiero usar estrictamente CSS ya que es más suave y el tiempo está un poco mejor controlado.
EDITAR
Intenté lo que sugirió Duopixel, pero entendí mal y no lo estoy haciendo correctamente o no funciona. Aquí está el código:
HTML
<div id="main-div" class="animated fadeInDownBig"><!-- Content --></div>
CSS
#main-image{
height: 0;
overflow: hidden;
-moz-animation-delay: 3.5s;
-webkit-animation-delay: 3.5s;
-o-animation-delay: 3.5s;
animation-delay: 3.5s;
}
#main-image.fadeInDownBig{
height: 375px;
}