motion-offset
. Dette og alle andre relaterte bevegelses- * egenskaper omdøpes forskjøvet- * i spesifikasjonen. Vi endrer navnene her i almanakken. Hvis du vil bruke den akkurat nå, er det sannsynligvis best å bruke begge syntaksen.
Den motion-offset
eiendom i CSS sier: hvor langt motion-path
er du? Dette er den animerte egenskapen som er knyttet til bevegelsesstier.
.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 */ ) )
I eksemplet ovenfor har vi satt startverdien motion-offset
til 0%
, selv om det er verdt å merke seg at null er standardverdien, selv når den ikke er eksplisitt definert (vi kunne ha utelatt den).
Variabler
Den offset-distance
eiendommen aksepterer følgende verdier:
length
percentage
I begge tilfeller angir verdien lengden på avstanden fra startpunktet til banen (standard er 0px
eller 0%
) til endepunktet til banen.
Eksempel
I dette eksemplet har vi to sirkler der en liten sirkel beveger seg langs banen til en større sirkel.
Her er SVG-filen vi bruker for å tegne figurene:
Nå kan vi stille .marker
klassen i CSS til å følge .track
klassekoordinatene:
/* 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%; ) )
Se pennens enkle eksempel på animering langs en sti av Geoff Graham (@geoffgraham) på CodePen.
På samme måte kan vi stoppe offset-distance
verdien på 50%, og animasjonen vil falle halvveis rundt banen:
Se pennens enkle eksempel på animering langs en sti av Geoff Graham (@geoffgraham) på CodePen.
Eller, for å kontrollere hastigheten på animasjonen, kan vi multiplisere offset-distance
verdien til 300% for å øke hastigheten. Men hvis vi har spesifisert hvor lang tid animasjonen kjører til en verdi som er større enn hva det tar elementet å reise banen, vil bevegelsen stoppe til animasjonen har fullført intervallet før den gjentas:
Se pennens enkle eksempel på animering langs en sti av Geoff Graham (@geoffgraham) på CodePen.
Nettleserstøtte
den offset-distance
eiendommen er fortsatt betraktet som en eksperimentell funksjon på tidspunktet for dette skriftlig, og det er ingen dokumentasjon i nettleseren støtte. Imidlertid er det dokumentasjon om motion-path
støtte, og vi kan bruke det som en grunnlinje foreløpig.
Disse nettleserstøttedataene er fra Caniuse, som har flere detaljer. Et tall indikerer at nettleseren støtter funksjonen i den versjonen og oppover.
Desktop
Chrome | Firefox | DVS | Kant | Safari |
---|---|---|---|---|
46 | 72 | Nei | 79 | Nei |
Mobil / nettbrett
Android Chrome | Android Firefox | Android | iOS Safari |
---|---|---|---|
88 | 85 | 81 | Nei |
Tilleggsinformasjon
- Bevegelsesmodul Nivå 1 Spes
- Eksempler på CodePen
- WebKit-billett # 139128
- Mozilla-billett # 1186329
- Microsoft Edge-funksjonsforespørsel