0

Καμπύλη χαλάρωσης CSS σε στυλ αναπήδησης

Σχεδιάστε μια προσαρμοσμένη συνάρτηση χρονισμού CSS cubic-bezier() σύροντας δύο σημεία ελέγχου, κάντε προεπισκόπηση σε ζωντανή προβολή σε σχέση με μια γραμμική αναφορά και, στη συνέχεια, αντιγράψτε την τιμή ετοιμότητας.

Σύρετε την πορτοκαλί λαβή (P1) και την κόκκινη λαβή (P2) για να αλλάξετε το σχήμα της καμπύλης — τα πλήκτρα βέλους λειτουργούν επίσης. Το X παραμένει σφιγμένο μεταξύ 0 και 1 όπως απαιτεί το CSS. σύρετε μια λαβή πάνω ή κάτω από το πλαίσιο για να στείλετε το y πέρα ​​από αυτό το εύρος για εφέ υπέρβασης και αναπήδησης.

Η καμπύλη σου

Γραμμική (για σύγκριση)

Επεξεργασία... 0%

Αποτέλεσμα

Αυτή η σελίδα ανοίγει τη γεννήτρια με x1=0,68, y1=-0,55, x2=0,265, y2=1,55 ήδη φορτωμένο — μια καμπύλη υπέρβασης που ορισμένες βιβλιοθήκες διευκολύνουν την ετικέτα easeOutBack. Το αρνητικό y1 και το y2 πάνω από το 1 είναι ακριβώς ο λόγος που η προεπισκόπηση κινούμενων εικόνων παρακάτω τραβάει πίσω από την αρχή και μετά το τέλος του προτού τακτοποιηθεί. σύρετε είτε τη λαβή είτε επεξεργαστείτε τους αριθμούς για να κάνετε το εφέ πιο δυνατό ή πιο απαλό.

Για να είμαστε ειλικρινείς σχετικά με το τι είναι αυτό: μια καμπύλη cubic-bezier() έχει μόνο δύο σημεία ελέγχου, επομένως μπορεί να προσεγγίσει μια κίνηση υπέρβασης και καθίζησης, όχι μια γνήσια φυσική αναπήδηση πολλαπλών αναπήδησης με πολλά μειωμένα άλματα. Για ένα κυριολεκτικό εφέ αναπήδησης μπάλας θα χρειαστείτε πολλαπλά βασικά καρέ ή τμήματα step() αλυσοδεμένα μεταξύ τους — αυτή η καμπύλη είναι ό,τι πιο κοντά μπορεί να έχει μια απλή συνάρτηση μετάβασης-χρονομέτρησης σε μια γραμμή.

Αυτή η μεμονωμένη υπέρβαση εξακολουθεί να είναι ακριβώς αυτό που θέλει το πιο bouncy UI: ένα κουμπί που ξεφεύγει λίγο πέρα από το μέγεθός του, ένα modal που ξεπερνάει προτού τακτοποιηθεί, ένα φύλλο που ανοίγει στη θέση του. Αντιγράψτε την τιμή ως έχει για αυτήν την ευχάριστη αίσθηση ή μαλακώστε το y1 προς το 0 και το y2 προς το 1 για να καλέσετε την υπέρβαση προς τα πίσω.