Générateur de la propriété CSS position
Basculez entre les 5 valeurs CSS de position (static, relative, absolute, fixed, sticky) via une interface graphique, observez en direct l'effet de top/right/bottom/left et z-index, puis générez le code CSS gratuitement.
Astuces
- Passez à position: relative et définissez top/left pour décaler visuellement la Boîte B de sa position d'origine — remarquez que la Boîte C (l'élément suivant) ne bouge pas du tout.
- En passant à absolute ou fixed, la Boîte B est entièrement retirée du flux normal, ce qui fait remonter la Boîte C pour combler l'espace laissé vacant.
- z-index détermine l'ordre d'empilement des éléments qui se chevauchent, mais n'a aucun effet sur un élément en position: static — changez d'abord position avant de tester « Définir z-index ».
- position: sticky ne fonctionne qu'à l'intérieur d'un conteneur avec défilement. Faites défiler le cadre d'aperçu lui-même pour voir l'élément se figer en cours de route.
- Le code CSS généré peut être copié-collé directement dans votre propre feuille de style — testez-le sur une vraie page pour vérifier que le rendu est identique.
Questions fréquentes
Anecdote — Le long chemin vers la standardisation de position: sticky
Le CSS dispose de static, relative, absolute et fixed depuis ses débuts, mais créer un en-tête ou une barre latérale qui ne se fige qu'après avoir défilé au-delà d'un certain point nécessitait longtemps de surveiller les événements de défilement en JavaScript et de basculer manuellement vers position: fixed. Il n'existait aucun moyen d'exprimer ce comportement uniquement avec du CSS.
L'idée de position: sticky a en fait été proposée dès 2012 dans la spécification CSS Positioned Layout Module Level 3, mais s'est révélée difficile à bien implémenter. Safari en a livré une première version préfixée (-webkit-sticky) vers 2013, Chrome n'a pris en charge le mot-clé standard sticky qu'en 2017, et il a fallu attendre environ 2020 pour que tous les grands navigateurs, dont Firefox, l'implémentent de manière fiable et cohérente.
Techniquement, le comportement de sticky qui « se fige en cours de défilement » se décrit le mieux comme un hybride entre relative et fixed : l'élément se comporte comme relative en temps normal, puis comme fixed dès que la position de défilement atteint le décalage défini. Ce basculement ne se déclenche que dans la plage de défilement de l'élément parent — ce qui explique pourquoi sticky semble si souvent « ne pas fonctionner » quand l'overflow ou la hauteur du parent fait obstacle.
Aujourd'hui, sticky est devenu une technique incontournable du design web : fixer la ligne d'en-tête d'un tableau, garder une table des matières visible pendant le défilement, et bien d'autres usages. Éliminer le besoin d'une écoute du défilement en JavaScript a représenté un vrai gain, tant en performance qu'en simplicité du code.