Dans ce tutoriel consacré au CSS, nous allons explorer deux propriétés CSS : @property
et :focus-visible
. La première, @property
, permet de définir des propriétés CSS personnalisées avec des comportements spécifiques. La deuxième, :focus-visible
, est une pseudo-classe expérimentale mais déjà largement supportée, qui améliore l'accessibilité en différenciant le focus au clavier et à la souris.
Introduction à @property
Syntaxe de @property
La propriété @property
permet de définir des variables CSS avec des comportements spécifiques. Elle comprend trois sous-propriétés :
- syntax : Définit le type de valeur que la propriété peut prendre.
- inherits : Indique si la propriété hérite de la valeur de son parent.
- initial-value : Définit la valeur par défaut de la propriété.
Types de Données
Les types de données que vous pouvez utiliser dans @property
sont variés :
- Couleur
- Longueur
- Pourcentage
- Liste de valeurs séparées par un espace ou une virgule
- Mots-clés
- etc.
Voici un exemple de syntaxe pour une couleur :
@property --my-color {
syntax: '<color>';
inherits: false;
initial-value: blue;
}
Exemple Pratique
Pour illustrer l'utilisation de @property
, nous allons créer une structure HTML simple avec un parent et un enfant :
<div class="parent">
<div class="child"></div>
</div>
Ensuite, nous allons définir une variable CSS classique et une propriété personnalisée avec @property
:
:root {
--box-color: green;
}
.parent {
background-color: var(--box-color);
}
.child {
background-color: var(--box-color);
}
Avec cette configuration, l'enfant hérite de la couleur du parent. Pour contrôler cet héritage, nous utilisons @property
:
@property --box-color {
syntax: '<color>';
inherits: true;
initial-value: blue;
}
En modifiant la propriété inherits
à false
, l'enfant n'héritera plus de la couleur du parent :
@property --box-color {
syntax: '<color>';
inherits: false;
initial-value: blue;
}
Avantages de @property
- Encapsulation : Contrôle précis de l'héritage des propriétés.
- Héritage Fin : Permet de forcer l'héritage là où ce n'est pas naturel.
- Support : Compatible avec tous les navigateurs depuis 2024.
Introduction à :focus-visible
Syntaxe de :focus-visible
La pseudo-classe :focus-visible
est utilisée pour différencier le focus au clavier du focus à la souris, améliorant ainsi l'accessibilité.
Exemple Pratique
Pour illustrer l'utilisation de :focus-visible
, nous allons créer un bouton et un champ de texte :
<button>Bouton</button>
<input type="text" placeholder="Texte">
Ensuite, nous allons styliser le focus par défaut et le focus visible :
button:focus {
border: 5px solid red;
}
button:focus-visible {
border: 5px dashed blue;
}
Avec cette configuration, le bouton aura une bordure rouge continue lorsqu'il est focusé avec la souris, et une bordure bleue en pointillés lorsqu'il est focusé avec le clavier.
Avantages de :focus-visible
- Accessibilité : Améliore la navigation au clavier pour les utilisateurs ayant des besoins spécifiques.
- Différenciation : Permet de différencier visuellement le focus au clavier et à la souris.
- Support : Bien que marquée comme expérimentale, elle est largement supportée depuis mars 2022.
Conclusion
Les propriétés @property
et :focus-visible
sont des outils puissants et méconnus du CSS. @property
permet un contrôle fin des variables CSS, tandis que :focus-visible
améliore l'accessibilité en différenciant le focus au clavier et à la souris. N'hésitez pas à expérimenter avec ces propriétés pour améliorer vos projets web.
Obtenir de l'aide
Pour obtenir de l'aide, vous pouvez accéder au serveur Discord pour une entraide par chat.

Catégories : CSS Tutoriel Développement Front-End Tutoriels rapides
Mots-clés : Tutoriel HTML CSS Javascript