Wie kann ich mithilfe von CSS-transitions animieren, ein responsive layout die vertikale Ausrichtung?
Ich versuche herauszufinden, ein Weg, um reibungslos zu animieren reaktionsschnell Weg ändern, auf einige Elemente' display
- Eigenschaft, wenn der browser die Größe und ab einem bestimmten Haltepunkt. Ich möchte mit CSS-übergängen, aber Sie gelten nicht für die display
Eigenschaft, so kann ich Sie haben, um herauszufinden, einen workaround. Klar, ich bin nur Probleme beim animieren von änderungen, um die vertikale Ausrichtung von Elementen, die waren vorher horizontal angeordnet. Andere, einfache, ansprechende Animationen wurden eingestellt, ohne Frage.
Hier ist ein einfaches Beispiel
In diesem Beispiel habe ich eine wirksame übergänge für das div-Dimensionen, aktivieren Sie an bestimmten Haltepunkten. Die Letzte (kleinste Fenster) übergang bewirkt, dass die divs vertikal. Auf den ersten, dies wurde erreicht, indem einfach die divs aus display:inline-block;
zu display:block;
. Dies war jedoch nicht animiert werden, mithilfe von CSS-transitions, also habe ich versucht, eine alternative Methode. Die alternative, die beteiligten ändern des divs aus position:relative;
zu position:absolute;
und Anpassung Ihrer top
Eigenschaften. Ich dachte, CSS-übergänge in der Lage sein würde, um effektiv zu animieren, die änderung in top
aber das scheint nicht zu passieren.
Hat jemand irgendwelche Vorschläge?
- Was wollen Sie wissen ?Bitte beschreiben Sie einfach Weg.Hoffnung für die Antwort.Sagen Sie mir, was zu tun ist.
Du musst angemeldet sein, um einen Kommentar abzugeben.
Dein problem ist, dass der Wechsel von relativen zu absoluten. Das kann nicht umgestellt werden, in keiner Weise.
Nur versuchen, Ihre Stile und ändern nur numerische Eigenschaften.
Beispielsweise, Sie halten können mit der relativen position, und stellen Sie den linken und oberen Werte entsprechend:
demo
Ändern ein wenig den Stil zu vermeiden, die sich hässlich Verhalten in kleineren Bildschirme
neue demo
Das problem kam, als die Breite des Containers konnte nicht mehr die 3 divs, und Sie beginnen zu fließen, zu einer anderen Zeile.
display:inline-block
zudisplay:block
am kleinsten Haltepunkt. Dieser erstellt eine korrekte Ausrichtung war aber auch nicht in der Lage die Animation nur css. Deine Lösung ist elegant einfach, aber - lassen Sie position allein und passen Sie die Eigenschaften top und left! Danke.statt über Positionen oder display verwenden Sie float-element und geben Sie eine weitere Pause, so dass Sie können anzeigen, wie sich der übergang Los ist..
hier ist fiddle http://jsfiddle.net/822bX/