Positionnement : relative, absolute, fixed, sticky
Sortez les éléments du flux normal avec les valeurs de position pour superposer du contenu, fixer des en-têtes et créer des barres latérales persistantes.
Positionnement : relative, absolute, fixed, sticky est une leçon Frontend Academy gratuite sur CoddyKit. Ceci est la leçon 4 sur 4. Tu peux lire la leçon complète ci-dessous gratuitement — puis la pratiquer en direct dans le navigateur avec un éditeur de code intégré et un tuteur IA 24/7. Elle fait partie du parcours d'apprentissage Frontend Academy, et ta progression se synchronise sur le web et l'application CoddyKit. Le cours Frontend Academy comprend 4 leçons au total.
Flux normal du document
Par défaut, les éléments suivent le flux normal du document : les éléments de type bloc s’empilent verticalement et les éléments en ligne s’écoulent horizontalement dans le texte. La propriété position vous permet de sortir de ce flux pour créer des superpositions, des en-têtes fixes et des infobulles.
position: static (par défaut)
Chaque élément commence avec position: static. Cela signifie qu’il est positionné selon le flux normal du document. Les propriétés top, right, bottom et left n’ont aucun effet sur les éléments statiques.
position: relative
position: relative conserve l’élément dans le flux normal, mais vous permet de le décaler par rapport à sa position d’origine à l’aide de top, right, bottom et left. Point essentiel : cette propriété crée un contexte de positionnement pour les descendants positionnés de manière absolue.
.card {
position: relative;
top: 10px; /* shift 10px down from original position */
left: -5px; /* shift 5px left */
}position : absolute
position: absolute retire l’élément du flux normal. Il est positionné par rapport à son ancêtre positionné le plus proche (toute position autre que statique). Si aucun ancêtre positionné n’existe, il est positionné par rapport à la fenêtre d’affichage.
.card {
position: relative; /* creates context */
}
.card .badge {
position: absolute;
top: 12px;
right: 12px; /* top-right corner of .card */
}La propriété z-index
Les éléments positionnés peuvent se chevaucher. Utilisez z-index pour contrôler l’ordre d’empilement. Plus z-index est élevé, plus l’élément apparaît au-dessus. Cela ne fonctionne que sur les éléments positionnés (pas sur ceux qui sont statiques). Cela crée un nouveau contexte d’empilement.
.tooltip {
position: absolute;
z-index: 100; /* above other content */
}
.modal {
position: fixed;
z-index: 1000; /* above tooltip */
}position : fixed
position: fixed retire l’élément du flux normal et l’ancre à la fenêtre d’affichage. Il ne défile pas avec la page. C’est idéal pour les en-têtes persistants, les boutons d’action flottants et les bannières de cookies.
.header {
position: fixed;
top: 0;
left: 0;
right: 0;
height: 64px;
background: white;
z-index: 50;
box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}position : sticky
position: sticky est un mode hybride : l’élément défile avec la page jusqu’à atteindre un seuil (défini avec top/bottom), puis il reste fixe. C’est utile pour les en-têtes de section dans les longs tableaux ou les barres latérales qui restent fixes après l’en-tête.
.sidebar {
position: sticky;
top: 80px; /* sticks 80px from top after scroll */
align-self: flex-start;
}Centrer avec une position absolue
Une technique classique consiste à combiner position: absolute; top: 50%; left: 50% avec transform: translate(-50%, -50%) pour centrer parfaitement un élément dans son parent positionné.
.modal {
position: fixed;
top: 50%;
left: 50%;
transform: translate(-50%, -50%);
width: 480px;
background: white;
border-radius: 12px;
}Le débordement masqué tronque les enfants absolus
Par défaut, un enfant positionné de manière absolue peut dépasser les limites de son parent. Ajouter overflow: hidden au parent masque tout ce qui se trouve en dehors de sa boîte — ce qui est utile pour les effets sur les images de cartes et le rognage des badges.
Piège : les contextes d’empilement indésirables
Certaines propriétés créent involontairement des contextes d’empilement : transform, filter, isolation: isolate. Cela peut provoquer des conflits de z-index : un élément z-index: 9999 peut rester derrière un autre parce qu’il se trouve dans un contexte d’empilement inférieur.
Quand utiliser chaque mode de positionnement
relative : décalages et contexte de positionnement. absolute : badges, info-bulles et superpositions par rapport à un parent. fixed : en-têtes persistants, fenêtres modales et notifications. sticky : en-têtes de section et navigation latérale qui suit le défilement. Évitez d’utiliser position pour les mises en page — utilisez Flex ou Grid.
Vérification rapide
Un élément possède position: absolute; top: 0; right: 0;. Où apparaîtra-t-il si son parent possède position: relative ?
Récapitulatif : le positionnement CSS
static est la valeur par défaut. relative applique des décalages sans quitter le flux et crée un contexte de positionnement. absolute quitte le flux et se positionne par rapport à l’ancêtre positionné le plus proche. fixed reste ancré à la fenêtre d’affichage. sticky défile, puis reste fixe. Utilisez z-index pour contrôler l’ordre de chevauchement.
Apprends HTML avec un tuteur IA — gratuit
Écris et exécute du vrai code dans ton navigateur, obtiens de l'aide instantanée d'un tuteur IA disponible 24h/24, et reprends là où tu t'es arrêté sur le web ou dans l'app.
- Cours
- 41
- Leçons
- 163
Questions Fréquemment Posées
La leçon « Positionnement : relative, absolute, fixed, sticky » est-elle gratuite ?
Oui — le texte complet de « Positionnement : relative, absolute, fixed, sticky » est gratuit à lire ici sur le web. Pour la pratiquer de manière interactive (un éditeur de code intégré et un tuteur IA 24/7) et déverrouiller le reste du cours Frontend Academy, passe à CoddyKit PRO. Le cours Frontend Academy comprend 4 leçons au total.
Qu'est-ce que j'apprendrai dans « Positionnement : relative, absolute, fixed, sticky » ?
Sortez les éléments du flux normal avec les valeurs de position pour superposer du contenu, fixer des en-têtes et créer des barres latérales persistantes. Tu pratiques Frontend Academy avec du code pratique que tu exécutes directement dans le navigateur, et un tuteur IA 24/7 répond à tes questions au fur et à mesure que tu avances dans la leçon.
Dois-je avoir de l'expérience pour commencer Frontend Academy ?
Aucune expérience préalable n'est requise. Frontend Academy sur CoddyKit est structuré pour les débutants jusqu'aux apprenants avancés, donc tu peux commencer ici ou depuis le début et avancer à ton rythme. Ceci est la leçon 4 sur 4.
Combien de temps prend la leçon « Positionnement : relative, absolute, fixed, sticky » ?
La plupart des leçons CoddyKit prennent environ 5–10 minutes. Chacune est courte et interactive, tu progresses régulièrement et tu repiques exactement où tu t'es arrêté sur le web et l'app.
Peux-tu écrire et exécuter du code dans cette leçon Frontend Academy ?
Oui. Chaque leçon Frontend Academy inclut un éditeur de code intégré, tu écris et exécutes du vrai code directement dans ton navigateur et tu reçois des retours IA instantanés — aucune configuration locale requise.
Toutes les leçons de ce cours
- Sélecteurs et cascade
- Couleurs, typographie et modèle de boîte
- Bases de display : block, inline, flex, grid
- Positionnement : relative, absolute, fixed, sticky