Ich habe eine CSS-Animation für ein Div, das nach einer festgelegten Zeitspanne eingeblendet wird. Was ich möchte, ist, dass ein paar Divs den Raum des animierten Divs füllen, der hineingleitet, und diese Elemente dann auf der Seite nach unten schieben.
Wenn ich dies zuerst versuche, nimmt div, das hineingleitet, immer noch Platz ein, auch wenn es nicht sichtbar ist. Wenn ich das Div in display:none
das Div ändere, gleitet es überhaupt nicht hinein.
Wie kann ich dafür sorgen, dass ein Div erst dann Platz beansprucht, wenn der Zeitpunkt für den Eingang festgelegt ist (Verwendung von CSS für das Timing)?
Ich benutze Animate.css für die Animationen.
So sieht der Code aus:
<div id="main-div" class="animated fadeInDownBig"><!-- Content --></div>
<div id="div1"><!-- Content --></div>
<div id="div2"><!-- Content --></div>
<div id="div3"><!-- Content --></div>
Wie der Code zeigt, möchte ich, dass das Haupt-Div ausgeblendet wird und die anderen Divs zuerst angezeigt werden. Dann habe ich folgende Verzögerung eingestellt:
#main-div{
-moz-animation-delay: 3.5s;
-webkit-animation-delay: 3.5s;
-o-animation-delay: 3.5s;
animation-delay: 3.5s;
}
An diesem Punkt möchte ich, dass die Hauptdiv die anderen Divs nach unten drückt, wenn sie hereinkommt.
Wie mache ich das?
Hinweis: Ich habe darüber nachgedacht, jQuery zu verwenden. Ich bevorzuge jedoch die Verwendung von ausschließlich CSS, da es flüssiger ist und das Timing etwas besser gesteuert wird.
BEARBEITEN
Ich habe versucht, was Duopixel vorgeschlagen hat, aber entweder habe ich es falsch verstanden und mache es nicht richtig oder es funktioniert nicht. Hier ist der Code:
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;
}