Ich habe dies verwendet, um meine Fußzeile nach unten zu kleben, und es hat bei mir funktioniert:
HTML
<body>
<div class="allButFooter">
<!-- Your page's content goes here, including header, nav, aside, everything -->
</div>
<footer>
<!-- Footer content -->
</footer>
</body>
Dies ist die einzige Änderung, die Sie im HTML vornehmen müssen. Fügen Sie diese div
mit der "allButFooter"
Klasse hinzu. Ich habe es mit allen Seiten gemacht, die so kurz waren, dass ich wusste, dass die Fußzeile nicht unten bleiben würde, und auch Seiten, die lang genug waren, dass ich bereits wusste, dass ich scrollen musste. Ich habe dies getan, damit ich sehen konnte, dass es in Ordnung funktioniert, wenn der Inhalt einer Seite dynamisch ist.
CSS
.allButFooter {
min-height: calc(100vh - 40px);
}
Die "allButFooter"
Klasse hat einen min-height
Wert, der von der Höhe des Ansichtsfensters ( 100vh
dh 100% der Höhe des Ansichtsfensters) und der Höhe der Fußzeile abhängt, von der ich bereits wusste, dass sie es ist 40px
.
Das ist alles was ich getan habe und es hat perfekt für mich funktioniert. Ich habe es nicht in jedem Browser versucht, nur in Firefox, Chrome und Edge, und die Ergebnisse waren so, wie ich es wollte. Die Fußzeile bleibt unten und Sie müssen sich nicht mit dem Z-Index, der Position oder anderen Eigenschaften herumschlagen. Die Position jedes Elements in meinem Dokument war die Standardposition. Ich habe sie nicht in absolut oder fest oder so geändert.
Arbeiten mit Responsive Design
Hier ist etwas, das ich klären möchte. Diese Lösung mit derselben Fußzeile, die 40 Pixel hoch war, funktionierte nicht wie erwartet, als ich in einem reaktionsschnellen Design mit arbeitete Twitter-Bootstrap
. Ich musste den Wert ändern, den ich in der Funktion subtrahierte:
.allButFooter {
min-height: calc(100vh - 95px);
}
Dies liegt wahrscheinlich daran Twitter-Bootstrap
, dass es eigene Ränder und Auffüllungen gibt. Deshalb musste ich diesen Wert anpassen.
Ich hoffe, das ist für euch von Nutzen! Zumindest ist dies eine einfache Lösung, bei der keine großen Änderungen am gesamten Dokument vorgenommen werden müssen.