CSS offset
La proprietà CSS offset imposta il percorso e la posizione lungo un motion path (CSS4)
La proprietà offset
è una shorthand introdotta in CSS4 che consente di definire in un’unica dichiarazione:
offset-path
, offset-distance
, offset-rotate
, offset-position
e offset-anchor
.
È particolarmente utile per animare un elemento lungo un percorso definito in path()
senza dover specificare ogni singola proprietà separatamente.
Sintassi
Significato dei valori principali:
-
offset-position: (opzionale) imposta la posizione iniziale dell'elemento rispetto al contenitore (
auto
,10px 20px
, ecc.). -
offset-path: definisce il percorso di movimento (es.
path()
,ray()
,none
). -
offset-distance: specifica quanto l’elemento si è spostato lungo il percorso (
0%
fino a100%
opx
). -
offset-rotate: definisce la rotazione dell’elemento lungo il percorso (
auto
,reverse
,45deg
, ecc.). -
offset-anchor: (opzionale) punto di ancoraggio interno dell’elemento rispetto al percorso (
auto
,top left
, ecc.).
Esempio proprietà: offset
Codice Esempio: offset

@keyframes moveAlongPath {
to {
offset-distance: 100%;
}
}
.offset-example {
width: 50px;
height: 50px;
background-color: #007acc;
position: absolute;
offset: path("M0,0 L300,0 L300,200 L0,200 Z") auto;
animation: moveAlongPath 5s linear infinite;
}
.offset-container {
position: relative;
width: 320px;
height: 240px;
background-color: #f0f0f0;
border: 1px dashed #999;
margin: 20px 0;
}
Contenuto Esempio: offset
Esempio di utilizzo di offset
In questo esempio, un elemento si muove lungo un percorso definito tramite offset-path
e animato usando offset-distance
:
CSS e HTML per l'elemento animato:
<style>
@keyframes moveAlongPath {
to {
offset-distance: 100%;
}
}
.offset-example {
width: 50px;
height: 50px;
background-color: #007acc;
position: absolute;
offset: path("M0,0 L300,0 L300,200 L0,200 Z") auto;
animation: moveAlongPath 5s linear infinite;
}
.offset-container {
position: relative;
width: 320px;
height: 240px;
background-color: #f0f0f0;
border: 1px dashed #999;
margin: 20px 0;
}
</style>
<div class="offset-container">
<div class="offset-example"></div>
</div>
✅ Note aggiuntive:
-
Supporto browser: le proprietà
offset-*
e la shorthandoffset
sono ben supportate in Chrome, Edge e Safari. In Firefox il supporto è presente, ma può richiedere l'attivazione del flaglayout.css.motion-path.enabled
inabout:config
. -
Sinonimo storico: nelle prime bozze delle specifiche si usava
motion-path
, ma oggi è considerato deprecato. Il nome ufficiale èoffset-path
.
Note:
Le indicazioni dei Browser supportati sono superate grazie alla loro costante evoluzione, si consiglia di verificare la compatibilità dei vari browser eseguendo il test cliccando qui sotto.