Startseite » Codierung » So erstellen Sie 3D-Button-Flip-Animationen mit CSS

    So erstellen Sie 3D-Button-Flip-Animationen mit CSS

    Animationen umdrehen sind beliebte CSS-Effekte, die zeigen sowohl vorne als auch hinten eines HTML-Elements durch Drehen von oben nach unten oder von links nach rechts (und umgekehrt). Sie haben zwei Dimensionen, sind aber in 3D noch kühler.

    In diesem Beitrag zeige ich Ihnen, wie es geht Erstellen Sie einfache 3D-Schaltflächen, und Flip-Animationen hinzufügen zu ihnen.

    Sie können das Ergebnis in der Demo unten sehen. Wenn Sie auf die Schaltflächen klicken, wird die beschriftete Flip-Animation ausgeführt.

    1. Erstellen Sie den HTML-Code für die 3D-Schaltfläche

    Um eine 3D-Schaltfläche (mit Top → Bottom Flip) zu erstellen, stapeln wir zuerst drei

    s aufeinander, zwei für die Vorder- und Rückseite des Knopfes und eine dritte für das Auffüllen der Tiefe in der Mitte. Wir setzen die drei Knopfflächen in die .flipBtn Container, der als 3D-Button fungiert, und wir platzieren den 3D-Button im .flipBtnWrapper Verpackung.

     
    2. Grundlegende Stile mit CSS hinzufügen

    Wir setzen die Breite und Höhe Eigenschaften des Wrappers, der Schaltfläche und der Tastenflächen und positionieren Sie sie mit der relativen / absoluten Positionierungstechnik.

     .flipBtnWrapper width: 200px; Höhe: 200px; Position: relativ;  .flipBtn, .flipBtn_face width: 100%; Höhe: 100%; Position: absolut;  
    3. Gestalten Sie die 3 Tastenflächen

    Wir fügen den vorderen und hinteren Tastenflächen Hintergrundbilder hinzu und hinterlegen für beide einen coolen linearen Farbverlauf. Der Trick hier ist, dass Sie in CSS mehrere Bilder als Hintergrundbild für dasselbe Element festlegen können und auch Verläufe als Hintergrundbilder deklarieren können.

    Das mittlere Gesicht, .flipBtn_mid, wird ein gegeben Höhe von 20px und einem gleichen Abstand von 20px zwischen Vorder- und Rückseite. Letzteres erreichen wir mit dem translateZ () CSS-Funktion das verschiebt ein Element entlang der Z-Achse. Wir drücken die Rückseite um 10px zurück und die Vorderseite um 10px nach vorne.

     .flipBtn_front background-image: URL ("image / css-3d-flip-button-animation-play.png"), linearer Farbverlauf (# FF6366 50%, # FEA56E); Sicht nach hinten: versteckt; transform: translateZ (10px);  .flipBtn_back Hintergrundbild: URL ("image / css-3d-flip-button-animation-pause.png"), linearer Farbverlauf (# FF6366 50%, # FEA56E); Hintergrundfarbe: blau; transform: translateZ (-10px);  .flipBtn_mid height: 20px; Hintergrundfarbe: # d5485a; Transformation: RotateX (90 Grad); oben: -10px; 

    Zu den Raum abdecken zwischen der Vorder- und Rückseite mit der mittleren, wir Legen Sie das mittlere Gesicht flach über die x-Ebene des 3D-Raums mit der Transformation: RotateX (90 Grad); das regieren macht es senkrecht auf die vordere und hintere Schaltfläche auf der y-Ebene.

    Da die mittlere Fläche flach über die x-Ebene gelegt wurde, geht ihr oberer Punkt auf der y-Achse um 10px (die Hälfte ihrer Höhe) vom Original nach unten. Um es wieder nach oben zu ziehen und die Oberseite mit den beiden anderen Tastenflächen auszurichten, fügte ich das hinzu oben: -10px Regel auch.

    Ich habe die Sicht auf die Rückseite CSS-Eigenschaft für die Vorderseite. Wenn Sie also die Schaltfläche drehen, wird die Rückseite der Vorderseite nicht sichtbar.

    Bisher sehen Sie nur die Vorderseite auf dem Bildschirm, da die X-Ebene nicht sichtbar ist, und auf der Y-Ebene (Bildschirm) war die letzte Fläche die Vorderseite. Durch Drehen der Taste Sie können auch die anderen Gesichter sehen.

    Die Taste
    4. Drehen Sie die Taste

    Die CSS-Eigenschaft im Transformationsstil bestimmt, ob die untergeordneten Elemente eines HTML-Elements flach angezeigt oder im 3D-Raum positioniert werden. Im folgenden Code-Snippet wird der Verwandlungsstil: preserve-3d; Regel gibt unserem Knopf 3D-Volumen, während die transform: rotatexX () Diese Eigenschaft dreht sie um die x-Achse.

     .flipBtn transform-style: preserve-3d; Transformation: RotateX (-120deg);  

    Beachten Sie, dass ich verwendet habe -120 Grad Nur zu Demonstrationszwecken, da auf diese Weise die Funktionsweise der Knopfdrehung einfacher veranschaulicht werden kann.

    Taste um -120 ° gedreht

    Im nächsten Schritt werden wir es jedoch ändern -180 Grad um den Knopf vollständig umdrehen zu lassen.

    5. Animieren Sie die Schaltfläche

    Zu diesem Zeitpunkt ist unsere 3D-Schaltfläche noch nicht animiert. Wir können dies mit der Übergang Eigentum. Wir nehmen das verwandeln Eigenschaft für den ersten Wert, da dies die Eigenschaft ist, für die der Übergangseffekt angewendet werden soll. Der zweite Wert ist die Dauer, 2s.

    Lassen Sie uns die Schaltfläche nur beim Schweben drehen, also anstelle der .flipBtn Selektor, lassen Sie uns verwenden .flipBtnWrapper: hover .flipBtn. Wie bereits erwähnt, ändern Sie auch den Wert von RotateX () zu -180 Grad um den Knopf herum drehen zu lassen.

     .flipBtn Übergang: Transformiere 2s; Verwandlungsstil: preserve-3d;  .flipBtnWrapper: hover .flipBtn transform: rotateX (-180deg); 

    Beachten Sie, dass im Github-Repo ich fügte ein Kontrollkästchen zu jeder Schaltfläche hinzu um die Animation anzufeuern : geprüft anstatt auf :schweben, Auf diese Weise verhält es sich eher wie eine echte Taste. Ich habe auch vier verschiedene Schaltflächen mit vier Kipprichtungen (Oben → Unten, Unten → Oben, Rechts → Links und Links → Rechts) mitgeliefert, so dass Sie problemlos verwenden können, was Sie möchten.

    • Demo anzeigen
    • Quelle herunterladen