CSS-Übergang - zwei Richtungen?
Hier ist ein grobes Beispiel zu helfen, zu zeigen, was ich möchte: http://jsfiddle.net/GVaNv/
Ich Frage mich, ob es eh das overlay-Bild transition
von der linken Seite, aber dann lassen Sie von der rechten Seite.
Also, auf zu schweben, das overlay kommt, wie es im Beispiel, sondern der Rückzug wieder nach Links, um transition
s auf der rechten Seite.
Ist das möglich? (nicht unbedingt transition
ich bin offen für jeden Weg, es zu tun).
- Es wäre trivial, wenn Sie ein klein wenig JavaScript eine Klasse Hinzugefügt werden, je nachdem, ob es schweben an oder aus.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier ist eine einfache Lösung, die nicht erfordert mehr HTML-oder JavaScript:
HTML-Code:
CSS-Code:
Dieser nutzt die Marge für die animation. Es funktioniert wie folgt:
left
ist positioniert auf der linken Seite des Elements).0
ohne eine animation. Dies ermöglicht es derleft
animation von der linken Seite des Elements.JSFiddle
0ms
einfach nicht in die übergangs-Liste, sprich:transition: left 300ms ease-out;
. Große Lösung.Ich habe versucht, dies zu erreichen, nur mit CSS-einschließlich additiona div markup wie folgt DEMO
HTML
CSS
Vielleicht können Sie Gebrauch machen von CSS3-Animationen, mit einer für Schiebetüren in und ein weiteres für Schiebetüren aus:
Nun können Sie die
overlay-in
animation auf:hover
und die andere auf die normale element-definition:Aber es gibt ein problem mit dieser: Die slide-out-animation wird einmal abgespielt, dann auf die Seite laden. Ich kann nicht herausfinden, ein Weg, um dies zu verhindern, ohne eine kleine JavaScript, das hinzufügen einer Klasse, um die überlagerung auf das erste
mouseout
Veranstaltung. Ich habe es getan, auf diese Weise in einem JSFiddle.Aber natürlich, so bald wie Sie benötigen JavaScript, Sie hätte auch einfach die übergänge. Aber diese Methode funktioniert auch ohne JavaScript, wenn Sie Leben können mit dem Abspielen von Animationen auf der Seite zu laden.