Je l'ai utilisé pour coller mon pied de page en bas et cela a fonctionné pour moi:
HTML
<body>
<div class="allButFooter">
<!-- Your page's content goes here, including header, nav, aside, everything -->
</div>
<footer>
<!-- Footer content -->
</footer>
</body>
C'est la seule modification que vous devez faire dans le HTML, ajoutez cela div
avec la "allButFooter"
classe. Je l'ai fait avec toutes les pages, celles qui étaient si courtes, je savais que le pied de page ne resterait pas en bas, et aussi les pages suffisamment longues pour que je sache déjà que je devais faire défiler. J'ai fait cela, donc j'ai pu voir que cela fonctionne bien dans le cas où le contenu d'une page est dynamique.
CSS
.allButFooter {
min-height: calc(100vh - 40px);
}
La "allButFooter"
classe a une min-height
valeur qui dépend de la hauteur de la fenêtre d'affichage ( 100vh
signifie 100% de la hauteur de la fenêtre d'affichage) et de la hauteur du pied de page, que je savais déjà40px
.
C'est tout ce que j'ai fait et cela a parfaitement fonctionné pour moi. Je ne l'ai pas essayé dans tous les navigateurs, juste Firefox, Chrome et Edge, et les résultats étaient comme je le souhaitais. Le pied de page colle au bas, et vous n'avez pas à vous soucier de l'index z, de la position ou de toute autre propriété. La position de chaque élément dans mon document était la position par défaut, je ne l'ai pas changé en absolu ou fixe ou quoi que ce soit.
Travailler avec une conception réactive
Voici quelque chose que j'aimerais clarifier. Cette solution, avec le même pied de page de 40 pixels de haut, n'a pas fonctionné comme je m'y attendais lorsque je travaillais dans une conception réactive à l'aide Twitter-Bootstrap
. J'ai dû modifier la valeur que je soustrayais dans la fonction:
.allButFooter {
min-height: calc(100vh - 95px);
}
C'est probablement parce qu'il a Twitter-Bootstrap
ses propres marges et rembourrages, c'est pourquoi j'ai dû ajuster cette valeur.
J'espère que cela vous sera utile! Au moins, c'est une solution simple à essayer, et cela n'implique pas d'apporter de grandes modifications à l'ensemble du document.