Homepage » Coding » Come creare 3D pulsante Flip Animazioni con CSS

    Come creare 3D pulsante Flip Animazioni con CSS

    Capovolgere le animazioni sono popolari effetti CSS che mostrano sia davanti che dietro di un elemento HTML ruotandoli dall'alto verso il basso o da sinistra verso destra (e viceversa). Sono rad in 2 dimensioni, ma sono ancora più freschi quando vengono eseguiti in 3D.

    In questo post, ti mostrerò come crea semplici pulsanti 3D, e aggiungi animazioni flip a loro.

    Puoi vedere il risultato nella demo qui sotto, se fai clic sui pulsanti, eseguiranno l'animazione flip etichettata.

    1. Creazione dell'HTML per il pulsante 3D

    Per creare un pulsante 3D (con Top → Bottom flip), prima ne impiliamo tre

    s uno sull'altro, due per le facce anteriore e posteriore del pulsante e un terzo per riempire la profondità al centro. Abbiamo inserito le tre facce dei pulsanti nel .flipBtn contenitore che funzionerà come pulsante 3D e posizioneremo il pulsante 3D nel .flipBtnWrapper involucro.

     
    2. Aggiunta di stili di base con CSS

    Abbiamo impostato il larghezza e altezza proprietà del wrapper, del pulsante e delle facce del pulsante e posizionarle utilizzando la tecnica di posizionamento relativo / assoluto.

     .flipBtnWrapper width: 200px; altezza: 200 px; posizione: relativa;  .flipBtn, .flipBtn_face width: 100%; altezza: 100%; posizione: assoluta;  
    3. Modella i 3 volti dei pulsanti

    Aggiungiamo immagini di sfondo alle facce dei pulsanti anteriore e posteriore e impostiamo un gradiente lineare freddo dietro le immagini per entrambi. Il trucco qui è che in CSS, puoi impostare più immagini come immagine di sfondo per lo stesso elemento, e puoi anche dichiarare i gradienti come immagini di sfondo.

    La faccia centrale, .flipBtn_mid, è dato a altezza di 20px e viene creato uno stesso spazio di 20 px tra le facce anteriore e posteriore. Raggiungiamo quest'ultimo utilizzando il translateZ () Funzione CSS che muove un elemento lungo l'asse z. Spingiamo indietro la faccia posteriore di 10 px e la faccia anteriore in avanti di 10 px.

     .flipBtn_front background-image: url ("immagine / css-3d-flip-button-animation-play.png"), sfumatura lineare (# FF6366 50%, # FEA56E); backface-visibility: hidden; transform: translateZ (10px);  .flipBtn_back background-image: url ("immagine / css-3d-flip-button-animation-pause.png"), sfumatura lineare (# FF6366 50%, # FEA56E); colore di sfondo: blu; transform: translateZ (-10px);  .flipBtn_mid height: 20px; background-color: # d5485a; transform: ruotareX (90deg); inizio: -10px; 

    A coprire lo spazio tra le facce anteriore e posteriore con quella centrale, noi stendi la faccia centrale piatta attraverso il piano x dello spazio 3D usando il transform: ruotareX (90deg); regola questo lo rende perpendicolare a entrambe le facce del pulsante anteriore e posteriore sul piano y.

    Poiché la faccia centrale è stata posizionata piatta sul piano x, il suo punto più alto sull'asse y scende di 10px (metà della sua altezza) rispetto all'originale. Quindi, per rimetterlo in posizione e allinearne la parte superiore con le altre due facce del pulsante, ho aggiunto il inizio: -10px regola pure.

    Ho usato il controfaccia visibilità Proprietà CSS per la faccia anteriore, quindi quando si capovolge il pulsante, la parte posteriore della faccia anteriore non sarà visibile.

    Finora, vedrai solo la faccia anteriore sullo schermo, poiché il piano x è nascosto alla vista e sul piano y (schermo) l'ultima faccia appoggiata era quella frontale. Ruotando il pulsante sarai in grado di vedere anche le altre facce.

    Il tasto
    4. Rotazione del pulsante

    La proprietà CSS stile di trasformazione determina se gli elementi figlio di un elemento HTML vengono visualizzati piatti o posizionati nello spazio 3D. Nel frammento di codice qui sotto, il transform-style: preserve-3d; regola dà volume 3D al nostro pulsante, mentre il trasformare: ruotarexX () proprietà lo ruota attorno all'asse x.

     .flipBtn transform-style: preserve-3d; transform: ruotareX (-120 gradi);  

    Nota che l'ho usato -120deg esclusivamente a scopo dimostrativo, in questo modo è più semplice illustrare come funziona la rotazione dei pulsanti.

    Pulsante ruotato di -120 °

    Comunque nel passaggio successivo lo cambieremo -180deg per far girare completamente il pulsante.

    5. Animazione del pulsante

    A questo punto, il nostro pulsante 3D non è ancora animato. Possiamo farlo usando il transizione proprietà. Noi usiamo il trasformare proprietà per il primo valore, poiché questa è la proprietà per cui vogliamo applicare l'effetto di transizione. Il secondo valore, è la durata, 2s.

    Facciamo ruotare il pulsante solo al passaggio del mouse, quindi al posto di .flipBtn selettore, usiamolo .flipBtnWrapper: hover .flipBtn. Come accennato in precedenza, cambia anche il valore di rotateX () a -180deg per far girare il pulsante.

     .flipBtn transition: transform 2s; transform-style: preserve-3d;  .flipBtnWrapper: hover .flipBtn transform: ruateX (-180deg); 

    Si noti che nel repository Github, I aggiunta una casella di controllo a ciascun pulsante per accendere l'animazione : selezionata piuttosto che su : hover, in questo modo si comporta più come un pulsante reale. Ho anche incluso quattro pulsanti diversi con quattro direzioni (in alto → in basso, in basso → in alto, a destra → a sinistra e a sinistra → a destra), in modo da poter usare facilmente quello che vuoi.

    • Visualizza la demo
    • Scarica fonte