Css Garder Ffoter Toujours En Bas De Page

Alors, on se galère avec ce fichu footer qui refuse de coller en bas de page, hein ? Je compatis! C’est un peu le serpent de mer du développement web, non ? Enfin, bon, respire un grand coup, on va voir ça ensemble, comme si on prenait un café (virtuel, malheureusement!) et qu'on papotait CSS.
Le problème, souvent, c’est que ton contenu principal est… comment dire… timide. Il n'occupe pas assez de place pour pousser ce footer récalcitrant tout en bas. Du coup, il flotte, perdu au milieu de nulle part. Un peu comme moi quand je cherche mes clés. 😅
Première solution : Le bon vieux min-height: 100vh; sur le body ou l'html.
Simple, basique, efficace (normalement !). L'idée est de forcer ton body (ou le html) à occuper au moins 100% de la hauteur de la fenêtre. C'est-à-dire, TOUTE la hauteur ! Hop, dans ton CSS :
Must Read
html, body {
min-height: 100vh;
}
Teste ça. Si ça marche, bingo ! Si ça marche pas… bah, t’inquiète, on a d’autres cartes dans notre manche. C'est pas comme si on allait abandonner, voyons ! 🤨
Deuxième solution : Flexbox, mon amour !
Flexbox, c’est un peu la baguette magique du CSS moderne. Si tu ne l'utilises pas encore, fonce ! Ça va te changer la vie (et peut-être même te réconcilier avec le CSS, qui sait ?). On va transformer le body en conteneur flex :

body {
display: flex;
flex-direction: column; /Important ! */
min-height: 100vh;
}
footer {
margin-top: auto; / La magie opère ici ! /
}
L'astuce, c'est le flex-direction: column;. On dit à Flexbox d'organiser les éléments verticalement. Et le margin-top: auto; sur le footer, c'est lui qui le pousse tout en bas. Malin, non ? 😉
Troisième solution : Le Positionnement Absolu (à utiliser avec prudence !)
Attention, danger ! Le positionnement absolu, c'est un peu comme jouer avec le feu. Ça peut être super efficace, mais ça peut aussi vite partir en vrille. Mais bon, on essaie quand même, hein ?

body {
position: relative; / Indispensable pour le positionnement du footer ! /
min-height: 100vh; / On garde ça pour assurer une hauteur minimale /
}
footer {
position: absolute;
bottom: 0;
width: 100%; / Pour qu'il prenne toute la largeur */
}
Ici, on dit au footer de se positionner de manière absolue par rapport à son parent (le body, qui doit donc être en position: relative;). Et on le colle en bas avec bottom: 0;. Mais attention, si ton contenu principal est plus grand que la fenêtre, le footer risque de recouvrir une partie du contenu. Aïe! 😬
Important : N'oublie pas de prendre en compte la hauteur de ton footer ! Si ton contenu principal est vraiment court, tu pourrais avoir des problèmes de superposition. Dans ce cas, joue avec les marges et les paddings pour ajuster tout ça. C'est un peu de la chirurgie esthétique CSS, mais ça vaut le coup. 😁
Alors, ça t'a aidé ? J'espère que oui ! Si tu as encore des problèmes, n’hésite pas à me le dire. On décortiquera ça ensemble. Allez, bon courage et à la prochaine pour d'autres aventures CSS ! 👋
