This is an experimental technology
Because this technology's specification has not stabilized, check the compatibility table for usage in various browsers. Also note that the syntax and behavior of an experimental technology is subject to change in future versions of browsers as the specification changes.
Draft
This page is not complete.
The offset
CSS property is a shorthand property for animating an element along a defined path.
Early versions of the spec called this property motion
.
Initial value | as each of the properties of the shorthand:
|
---|---|
Applies to | transformable elements |
Inherited | no |
Percentages | as each of the properties of the shorthand:
|
Media | visual |
Computed value | as each of the properties of the shorthand:
|
Animation type | as each of the properties of the shorthand:
|
Canonical order | per grammar |
Creates stacking context | yes |
Syntax
/* Offset position */ offset: auto offset: 10px 30px; offset: none; /* Offset path */ offset: ray(45deg closest-side); offset: path(M 100 100 L 300 100 L 200 300 z); offset: url(arc.svg); /* Offset path with distance and/or rotation */ offset: url(circle.svg) 100px; offset: url(circle.svg) 40%; offset: url(circle.svg) 30deg; offset: url(circle.svg) 50px 20deg; /* Including offset anchor */ offset: ray(45deg closest-side) / 40px 20px; offset: url(arc.svg) 2cm / 0.5cm 3cm; offset: url(arc.svg) 30deg / 50px 100px;
Formal syntax
[ <'offset-position'>? [ <'offset-path'> [ <'offset-distance'> || <'offset-rotate'> ]? ]? ]! [ / <'offset-anchor'> ]?
Example
HTML
<div id="offsetElement"></div>
CSS
@keyframes move { from { offset-distance: 0%; } to { offset-distance: 100%; } } #offsetElement { width: 50px; height: 50px; background-color: blue; offset: path("M 100 100 L 300 100 L 200 300 z") auto; animation: move 3s linear infinite; }
Result
Specifications
Specification | Status | Comment |
---|---|---|
Motion Path Module Level 1 The definition of 'offset' in that specification. |
Working Draft | Initial definition |
Browser compatibility
Feature | Chrome | Firefox (Gecko) | Internet Explorer | Opera | Safari (WebKit) |
---|---|---|---|---|---|
Basic support | 46.0 (as motion )55.0 (as offset ) |
No support | No support | No support | No support |
Feature | Android | Android Webview | Firefox Mobile (Gecko) | Firefox OS | IE Mobile | Opera Mobile | Safari Mobile | Chrome for Android |
---|---|---|---|---|---|---|---|---|
Basic support | No support | 46.0 (as motion )55.0 (as offset ) |
No support | No support | No support | No support | No support | 46.0 (as motion )55.0 (as offset ) |