CSS @property
La direttiva CSS @property per le proprietà personalizzate (CSS Houdini)
La direttiva @property consente di definire una proprietà personalizzata che può essere utilizzata nelle animazioni e transizioni. Le proprietà dichiarate con @property sono più potenti perché possono essere animate come proprietà CSS native, migliorando la dinamicità e le possibilità di personalizzazione del design.
Sintassi
@property nome-proprietà {
syntax: tipo;
initial-value: valore iniziale;
inherits: boolean;
}
Descrizione dei parametri principali
-
nome-proprietà: il nome della proprietà CSS personalizzata, in formato
kebab-case(minuscolo con trattini). Esempio:--main-color. -
syntax: il tipo di dato accettato dalla proprietà. Può essere, ad esempio:
<color>,<length>,<angle>,<number>, ecc. -
initial-value: il valore predefinito della proprietà, valido per il tipo specificato. Esempi:
#ff6347,0px,1.5. -
inherits: indica se la proprietà eredita il valore dal suo elemento genitore (
trueofalse).
Esempio proprietà: @property
Codice Esempio: @property
@property --my-color {
syntax: '<color>';
initial-value: #50a14f;
inherit: false;
}.box {
width: 200px;
height: 200px;
background-color: var(--my-color);
transition: background-color 1s;
}.box:hover {
--my-color: #ff6347;
}
Contenuto Esempio: @property
Esempio di utilizzo di @property
In questo esempio, la direttiva @property viene utilizzata per dichiarare una proprietà personalizzata che può essere animata:
CSS e HTML per la proprietà personalizzata con transizione:
<style>
@property --my-color {
syntax: '<color>';
initial-value: #50a14f;
inherit: false;
}
.box {
width: 200px;
height: 200px;
background-color: var(--my-color);
transition: background-color 1s;
}
.box:hover {
--my-color: #ff6347;
}
</style>
<div class="box"></div>
⚠️ Note compatibilità:
La proprietà @property in CSS è una funzionalità relativamente nuova che consente di definire proprietà personalizzate direttamente nel foglio di stile, rendendo possibile il loro utilizzo per transizioni o animazioni. È una parte della proposta CSS Houdini, che punta a dare ai CSS più potere e flessibilità, simile a quanto avviene con JavaScript, ma in modo più "nativo" e integrato nei CSS.
Questa proprietà è ancora in fase di implementazione e non è completamente supportata da tutti i browser, quindi è importante fare attenzione quando la si utilizza, verificando la compatibilità.
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.

IP: 216.73.216.214