syntax
Baseline
2024
Newly available
Depuis July 2024, cette fonctionnalité fonctionne sur les appareils et les versions de navigateur les plus récents. Elle peut ne pas fonctionner sur les appareils ou navigateurs plus anciens.
Le descripteur CSS syntax de la règle @ @property définit les types de valeurs autorisées pour la propriété personnalisée CSS enregistrée.
Il contrôle la façon dont la valeur spécifiée de la propriété est traitée pour obtenir la valeur calculée.
Ce descripteur est obligatoire : s'il est absent ou invalide, la règle @property entière est ignorée.
Syntaxe
/* Un de type de donnée */
syntax: "<color>";
/* Un combinateur '|' pour plusieurs types de données */
syntax: "<length> | <percentage>";
/* Liste de valeurs séparées par des espaces */
syntax: "<color>+";
/* Liste de valeurs séparées par des virgules */
syntax: "<length>#";
/* Mots-clés */
syntax: "small | medium | large";
/* Combinaison de type de donnée et de mot-clé */
syntax: "<length> | auto";
/* Valeur de syntaxe universelle */
syntax: "*";
Valeurs
Une chaîne de caractères (appelée chaîne de syntaxe) qui définit les valeurs autorisées. Elle peut être :
- Un ou plusieurs noms de composants de syntaxe, qui peuvent être :
- Des noms de types de données (écrits entre chevrons, comme
<color>ou<length>) - Des mots-clés (écrits sans chevrons, comme
autoounone)
- Des noms de types de données (écrits entre chevrons, comme
- La syntaxe universelle
*, qui accepte toute valeur CSS valide. Elle ne peut pas être multipliée ni combinée avec d'autres composants de syntaxe.
Les noms de composants de syntaxe peuvent être utilisés seuls ou multipliés et combinés de différentes façons :
-
Les multiplicateurs
+(séparé par des espaces) et#(séparé par des virgules) indiquent qu'une liste de valeurs est attendue. Par exemple,<color>#signifie qu'une liste de valeurs<color>séparées par des virgules est attendue. -
Le combinateur barre verticale (
|) permet de créer des conditions « ou » pour la syntaxe attendue. Par exemple,<length> | autoaccepte<length>ouauto, et<color># | <integer>#attend une liste de valeurs<color>ou une liste de valeurs<integer>, toutes deux séparées par des virgules.
Les noms de composants de syntaxe suivants sont pris en charge :
"<angle>"-
Accepte toute valeur
<angle>valide. "<color>"-
Accepte toute valeur
<color>valide. "<custom-ident>"-
Accepte toute valeur
<custom-ident>valide. "<image>"-
Accepte toute valeur
<image>valide. "<integer>"-
Accepte toute valeur
<integer>valide. "<length>"-
Accepte toute valeur
<length>valide. "<length-percentage>"-
Accepte toute valeur
<length>ou<percentage>valide, ainsi que toute expressioncalc()combinant des valeurs<length>et<percentage>. "<number>"-
Accepte toute valeur
<number>valide. "<percentage>"-
Accepte toute valeur
<percentage>valide. "<resolution>"-
Accepte toute valeur
<resolution>valide. "<string>"-
Accepte toute valeur
<string>valide. "<time>"-
Accepte toute valeur
<time>valide. "<transform-function>"-
Accepte toute valeur
<transform-function>valide. "<transform-list>"-
Accepte une liste de valeurs
<transform-function>valides. Équivalent à"<transform-function>+". "<url>"-
Accepte toute valeur
<url>valide.
Définition formelle
| En lien avec les règles @ | @property |
|---|---|
| Valeur initiale | n/a (required) |
| Valeur calculée | comme spécifié |
Syntaxe formelle
syntax =
<string>
Exemples
>Enregistrer une propriété personnalisée avec vérification de type
Cet exemple montre comment définir une propriété personnalisée --my-color qui n'accepte que des valeurs <color> :
@property --my-color {
syntax: "<color>";
inherits: false;
initial-value: #c0ffee;
}
En utilisant JavaScript CSS.registerProperty() :
window.CSS.registerProperty({
name: "--my-color",
syntax: "<color>",
inherits: false,
initialValue: "#c0ffee",
});
Spécifications
| Specification |
|---|
| CSS Properties and Values API Level 1> # the-syntax-descriptor> |
Compatibilité des navigateurs
Chargement…
Voir aussi
- Autres descripteurs de
@property:inheritsetinitial-value - API Propriétés et valeurs CSS
- API Peinture CSS
- API Typage de modèle d'objet CSS
- API Houdini