Règle @property de CSS
Définition et utilisation
CSS @property
Les règles sont utilisées pour définir directement des attributs CSS personnalisés dans les feuilles de style, sans nécessiter l'exécution de JavaScript.
@property
Les règles ont des fonctionnalités de vérification de type de données et de contraintes, peuvent définir des valeurs par défaut, et définir si l'attribut peut hériter de la valeur.
Utiliser @property
Avantages :
- Vérification de type et contraintes : il est nécessaire de spécifier le type de données de l'attribut personnalisé, par exemple <number>、<color>、<length>等。Cela peut éviter les erreurs et garantir une utilisation correcte des attributs personnalisés.
- Définir la valeur par défaut : il est possible de définir une valeur par défaut pour l'attribut personnalisé. Cela garantit que si une valeur non valide est assignée ultérieurement, le navigateur utilisera la valeur de rechange définie.
- Définir le comportement d'héritage : il est nécessaire de spécifier si l'attribut personnalisé peut hériter de la valeur de son élément parent.
Exemple : définir des attributs personnalisés
@property --my-color { syntax: "<color>"; inherits: true; initial-value: lightgray; }
La définition ci-dessus indique que --my-color est une propriété de couleur, qui peut hériter de la valeur de l'élément parent et a par défaut lightgray.
Utiliser des attributs personnalisés dans CSS :
body {}} backgound-color: var(--my-color); }
Exemple
Exemple 1
Spécifiez deux attributs personnalisés pour le dégradé - et utilisez-les pour animer le dégradé :
@property --startColor { syntax: "<color>"; initial-value: #EADEDB; inherits: false; } @property --endColor { syntax: "<color>"; initial-value: #BC70A4; inherits: false; }
Exemple 2
Spécifiez deux attributs personnalisés : un pour la taille de l'élément et un pour la couleur de l'élément :
@property --item-size { syntax: "<percentage>"; inherits: true; initial-value: 50%; } @property --item-color { syntax: "<color>"; inherits: false; initial-value: lightgray; }
Syntaxe CSS
@property --propertyname { syntax: "<color>"; initial-value: red; inherits: false; }
Valeur de l'attribut
Valeur | Description |
---|---|
--propertyname | Obligatoire. Le nom de l'attribut personnalisé. |
syntax |
Peut être <length>, <number>, <percentage>, <length-percentage>, <color>, <image>, <url>, <integer>, <angle>, <time>, <resolution>, <transform-function> ou <custom-ident>, ou une liste de types de données et de valeurs de mots-clés. + (espaces séparés) et # (séparés par des virgules) sont des multiplicateurs indiquant une liste de valeurs attendues, par exemple <color># indique que la syntaxe attendue est une liste de valeurs <color> séparées par des virgules. La barre verticale (|) peut créer une condition "ou" pour la syntaxe attendue, par exemple <length> | auto accepte <length> ou auto, et <color># | <integer># attend une liste de valeurs <color> séparées par des virgules ou une liste de valeurs <integer> séparées par des virgules. |
initial-value | Définir la valeur initiale de l'attribut. |
inherits | true ou false. Contrôle si l'enregistrement par défaut de l'attribut personnalisé spécifié par @property est hérité. |
Support du navigateur
Les nombres dans le tableau représentent la version du navigateur qui prend en charge pleinement cette règle @.
Chrome | Edge | Firefox | Safari | Opera |
---|---|---|---|---|
85 | 85 | 128 | 16.4 | 71 |
Pages liées
Tutoriel :Règle @property de CSS