motion-offset
. Ta in vse druge povezane lastnosti gibanja * se v specifikaciji preimenujejo v offset- *. Tukaj v almanahu spreminjamo imena. Če jo želite uporabiti zdaj, je verjetno najbolje, da uporabite obe sintaksi.
motion-offset
Hotel v CSS pravi: kako daleč vzdolž motion-path
ste? To je animacijska lastnost, povezana s potmi gibanja.
.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 */ ) )
V zgornjem primeru smo začetno motion-offset
vrednost nastavili na 0%
, čeprav velja omeniti, da je nič privzeta vrednost, tudi če ni izrecno določena (to bi lahko izpustili).
Spremenljivke
offset-distance
Lastnina sprejema naslednje vrednosti:
length
percentage
V obeh primerih vrednost določa dolžino razdalje od začetne točke poti (privzeto je 0px
ali 0%
) do končne točke poti.
Primer
V tem primeru imamo dva kroga, kjer en majhen krog potuje po poti večjega kroga.
Tu je datoteka SVG, ki jo uporabljamo za risanje oblik:
Zdaj lahko .marker
v našem CSS nastavimo razred, da sledi .track
koordinatam razreda:
/* 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%; ) )
Oglejte si primer preprostega peresa animiranja po poti, ki ga je napisal Geoff Graham (@geoffgraham) na CodePen.
Podobno lahko ustavimo offset-distance
vrednost pri 50% in animacija bi padla na pol poti:
Oglejte si primer preprostega peresa animiranja po poti, ki ga je napisal Geoff Graham (@geoffgraham) na CodePen.
Ali pa za nadzor hitrosti animacije lahko offset-distance
vrednost pomnožimo na 300%, da pospešimo stvari. Če pa smo določili, koliko časa se animacija izvaja pri vrednosti, ki je večja od tistega, ki je potreben elementu za pot, se bo gibanje ustavilo, dokler animacija ne zaključi intervala pred ponovitvijo:
Oglejte si primer preprostega peresa animiranja po poti, ki ga je napisal Geoff Graham (@geoffgraham) na CodePen.
Podpora brskalnika
offset-distance
lastnina še vedno velja poskusna funkcija v času tega pisanja in ni dokumentacije o podpori brskalnika. Vendar obstaja dokumentacija o motion-path
podpori, ki jo lahko trenutno uporabimo kot izhodišče.
Ti podatki o podpori brskalnika so od Caniuse, ki vsebuje več podrobnosti. Številka pomeni, da brskalnik podpira to funkcijo v tej različici ali novejši.
Namizje
Chrome | Firefox | IE | Rob | Safari |
---|---|---|---|---|
46 | 72 | Ne | 79 | Ne |
Mobilni / tablični računalnik
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | Ne |
Dodatne informacije
- Modul poti gibanja nivo 1 Spec
- Primeri na CodePenu
- Vstopnica za WebKit # 139128
- Vstopnica za Mozilla # 1186329
- Zahteva za funkcijo Microsoft Edge