motion-offset
. Αυτό, και όλες οι άλλες σχετικές ιδιότητες κίνησης *, μετονομάζονται σε όφσετ- * στις προδιαγραφές. Αλλάζουμε τα ονόματα εδώ στο αλμανάκ. Αν θέλετε να το χρησιμοποιήσετε τώρα, ίσως είναι καλύτερο να χρησιμοποιήσετε και τις δύο σύνταξη.
Το motion-offset
ακίνητο στο CSS λέει: πόσο μακριά motion-path
είστε; Αυτή είναι η κινούμενη ιδιότητα που σχετίζεται με διαδρομές κίνησης.
.thing-that-moves ( /* "Old" syntax. Available in Blink browsers as of ~October 2015 */ motion-path: path('M 5 5 m -4, 0 a 4,4 0 1,0 8,0 a 4,4 0 1,0 -8,0'); motion-offset: 0%; /* Currently spec'd syntax. Should be in stable Chrome as of ~December 2016 */ offset-path: path('M 5 5 m -4, 0 a 4,4 0 1,0 8,0 a 4,4 0 1,0 -8,0'); offset-distance: 0%; animation: move 3s linear infinite; ) /* Animate the element along the path from 0% to 100% */ @keyframes move ( 100% ( motion-offset: 100%; /* Old */ offset-distance: 100%; /* New */ ) )
Στο παραπάνω παράδειγμα, έχουμε ορίσει την αρχική motion-offset
τιμή 0%
, αν και αξίζει να σημειωθεί ότι το μηδέν είναι η προεπιλεγμένη τιμή, ακόμη και όταν δεν ορίζεται ρητά (θα μπορούσαμε να το αφήσουμε αυτό εκτός)
Μεταβλητές
Η offset-distance
ιδιότητα δέχεται τις ακόλουθες τιμές:
length
percentage
Και στις δύο περιπτώσεις, η τιμή καθορίζει το μήκος της απόστασης από το σημείο εκκίνησης της διαδρομής (η προεπιλογή είναι 0px
ή 0%
) έως το τελικό σημείο της διαδρομής.
Παράδειγμα
Σε αυτό το παράδειγμα, έχουμε δύο κύκλους όπου ένας μικρός κύκλος κινείται κατά μήκος της διαδρομής ενός μεγαλύτερου κύκλου.
Εδώ είναι το αρχείο SVG που χρησιμοποιούμε για να σχεδιάσουμε τα σχήματα:
Τώρα, μπορούμε να ορίσουμε την .marker
τάξη στο CSS μας ώστε να ακολουθεί τις .track
συντεταγμένες τάξης:
/* The motion-offset is zero by default */ .marker ( offset-path: path('M 5 5 m -4, 0 a 4,4 0 1,0 8,0 a 4,4 0 1,0 -8,0'); animation: move 3s linear infinite; ) @keyframes move ( /* Move the .marker from it's default value of 0% to 100% of the path's length */ 100% ( offset-distance: 100%; ) )
Δείτε το απλό παράδειγμα του Animation Along a Path του Geoff Graham (@geoffgraham) στο CodePen.
Ομοίως, μπορούμε να σταματήσουμε την offset-distance
τιμή στο 50% και το κινούμενο σχέδιο θα πέσει στα μισά της διαδρομής:
Δείτε το απλό παράδειγμα του Animation Along a Path του Geoff Graham (@geoffgraham) στο CodePen.
Ή, για να ελέγξουμε την ταχύτητα της κινούμενης εικόνας, θα μπορούσαμε να πολλαπλασιάσουμε την offset-distance
τιμή σε 300% για να επιταχύνουμε τα πράγματα. Ωστόσο, εάν έχουμε καθορίσει το χρονικό διάστημα που εκτελείται η κινούμενη εικόνα σε τιμή μεγαλύτερη από αυτήν που χρειάζεται το στοιχείο για να ταξιδέψει η διαδρομή, τότε η κίνηση θα σταματήσει έως ότου η κινούμενη εικόνα ολοκληρώσει το διάστημά της πριν την επανάληψη:
Δείτε το απλό παράδειγμα του Animation Along a Path του Geoff Graham (@geoffgraham) στο CodePen.
Υποστήριξη προγράμματος περιήγησης
η offset-distance
ιδιότητα εξακολουθεί να θεωρείται πειραματικό χαρακτηριστικό κατά τη στιγμή αυτής της γραφής και δεν υπάρχει τεκμηρίωση σχετικά με την υποστήριξη του προγράμματος περιήγησης. Ωστόσο, υπάρχει τεκμηρίωση σχετικά με την motion-path
υποστήριξη και μπορούμε να το χρησιμοποιήσουμε ως βάση για την ώρα.
Αυτά τα δεδομένα υποστήριξης του προγράμματος περιήγησης προέρχονται από την Caniuse, η οποία έχει περισσότερες λεπτομέρειες. Ένας αριθμός υποδεικνύει ότι το πρόγραμμα περιήγησης υποστηρίζει τη λειτουργία σε αυτήν την έκδοση και νεότερη.
Επιφάνεια εργασίας
Χρώμιο | Firefox | ΙΕ | Ακρη | Σαφάρι |
---|---|---|---|---|
46 | 72 | Οχι | 79 | Οχι |
Κινητό / Tablet
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | Οχι |
Επιπλέον πληροφορίες
- Ενότητα Motion Path Module Level 1
- Παραδείγματα στο CodePen
- Εισιτήριο WebKit # 139128
- Εισιτήριο Mozilla # 1186329
- Αίτημα λειτουργίας Microsoft Edge