Préparez-vous pour un bonus CSS : la règle @property maintenant disponible partout !

Découvrez comment la règle CSS @property, désormais compatible avec tous les navigateurs, révolutionne la gestion des propriétés CSS personnalisées. Améliorez la sémantique, la gestion des erreurs, et explorez des possibilités créatives comme l'animation de dégradés pour donner un coup de jeune à vos projets web.

Photo Maxime Benard
Publié le
Lecture de 9 minutes
Préparez-vous pour un bonus CSS : la règle @property maintenant disponible partout ! Interface d'administration PrestaShop sur ordinateur Réunion d'équipe développement avec écran de code Bureau moderne avec écran affichant un site web

Une nouvelle ère commence pour les développeurs web : la règle @property, une des API CSS Houdini, est désormais entièrement compatible avec tous les navigateurs récents. Cette avancée vous offre un contrôle et une flexibilité inégalés pour vos propriétés CSS personnalisées, également connues sous le nom de variables CSS.

Qu'est-ce que la règle @property ?

La règle @property permet aux développeurs de définir le type de données et la valeur initiale des propriétés CSS personnalisées, améliorant ainsi la gestion des erreurs et offrant des possibilités créatives, comme l'animation des dégradés. À partir du 9 juillet 2024, cette fonctionnalité sera disponible dans les trois principaux moteurs de navigateur.

Avantages de la règle @property

Signification Sémantique

En utilisant la règle @property, vous pouvez définir un type (syntax) pour vos propriétés personnalisées. Cela permet au navigateur de comprendre le type de données que ces propriétés contiennent, comme des couleurs, des longueurs ou des nombres. Par exemple :

@property --myColor {
    syntax: '<color>';
    inherits: false;
    initial-value: hotpink;
}

Valeurs de Remplacement

Grâce à @property, les styles ne disparaîtront plus lorsque des valeurs non valides sont assignées à des propriétés. Le navigateur utilisera alors une valeur de remplacement :

:root {
    --myColor: hotpink;
}

@property --myColor {
    syntax: '<color>';
    inherits: false;
    initial-value: hotpink;
}

Gestion des Erreurs Améliorée

L'amélioration de la sûreté du typage et la possibilité de définir des valeurs de remplacement offrent de nouvelles opportunités pour les tests et la validation directement dans votre CSS.

Création des Propriétés Personnalisées Avancées

Les propriétés personnalisées standard sont définies avec un double tiret (--). Cependant, pour bénéficier des avantages d'@property, il est recommandé de les enregistrer avec des détails supplémentaires :

:root {
    --myColor: hotpink;
}

@property --myColor {
    syntax: '<color>';
    inherits: false;
    initial-value: hotpink;
}

Avec cette approche, si une valeur non valide est affectée à --myColor, le navigateur utilisera automatiquement la valeur de remplacement définie.

Exemple de Mise en Pratique : Arrière-plan en Dégradé Scintillant

Une des applications fascinantes de la règle @property est l'animation des propriétés complexes comme les dégradés. Par exemple, pour créer une carte avec un arrière-plan animé :

@property --card-bg {
    syntax: "<color>";
    inherits: false;
    initial-value: lavender;
}

@property --shine-1 {
    syntax: "<color>";
    inherits: false;
    initial-value: wheat;
}

@property --shine-2 {
    syntax: "<color>";
    inherits: false;
    initial-value: lightpink;
}

.card {
    background: radial-gradient(
        300px circle at 55% 60%,
        var(--shine-2), transparent 100%),
        radial-gradient(
        farthest-side circle at 75% 30%,
        var(--shine-1) 0%, var(--card-bg) 100%);
}

@keyframes animate-color-1 {
    to {
        --shine-1: orange;
    }
}

@keyframes animate-color-2 {
    to {
        --shine-2: hotpink;
    }
}

.card {
    animation: 
    animate-color-1 8s infinite linear alternate,
    animate-color-2 1s infinite linear alternate;
}

Conclusion

L'incorporation de la règle @property dans le CSS ouvre des possibilités incroyables pour les développeurs web. En nous permettant de définir des types et des valeurs initiales pour nos propriétés CSS personnalisées, elle offre une gestion d'erreurs avancée et des options de création inédites. La règle @property fait maintenant partie intégrante de notre boîte à outils de développeurs web.

Autres Ressources à Lire

Facturation électronique 2026 : ce qui devient obligatoire en e-commerçe
La réforme 2026 change tout pour les e-commerçants : PDF, c’est fini. Si vous utilisez PrestaShop, vous devrez émettre des factures électroniques conformes (Factur‑X, PDP, e‑reporting…). On vous explique ce qui change, comment vous adapter, et pourquoi anticiper peut devenir un vrai levier de performance.
Comment activer le mode maintenance Prestashop (1.6, 1.7, 8 & 9) ?
Le mode maintenance PrestaShop vous permet de fermer temporairement votre boutique en ligne pendant une mise à jour ou une modification importante. Dans ce guide, découvrez comment l’activer sur PrestaShop 1.6, 1.7, 8 et 9, pourquoi ajouter votre adresse IP et quelles précautions prendre pour limiter l’impact sur vos ventes.