Użyłem tego do przyklejenia stopki do dołu i zadziałało to dla mnie:
HTML
<body>
<div class="allButFooter">
<!-- Your page's content goes here, including header, nav, aside, everything -->
</div>
<footer>
<!-- Footer content -->
</footer>
</body>
To jedyna modyfikacja, którą musisz zrobić w kodzie HTML, dodaj to div
z "allButFooter"
klasą. Zrobiłem to ze wszystkimi stronami, które były tak krótkie, wiedziałem, że stopka nie przyklei się do dołu, a także strony wystarczająco długie, że wiedziałem, że muszę przewijać. Zrobiłem to, aby zobaczyć, że działa dobrze w przypadku, gdy zawartość strony jest dynamiczna.
CSS
.allButFooter {
min-height: calc(100vh - 40px);
}
"allButFooter"
Klasa ma min-height
wartość, która zależy od wysokości rzutni'S ( 100vh
oznacza 100% wysokości rzutni) i wysokość stopki, w który wiedziałem już było 40px
.
To wszystko, co zrobiłem i działało idealnie dla mnie. Nie próbowałem tego w każdej przeglądarce, tylko Firefox, Chrome i Edge, a wyniki były takie, jak chciałem. Stopka przykleja się do dołu i nie musisz mieszać się z indeksem Z, pozycją ani żadnymi innymi właściwościami. Pozycja każdego elementu w moim dokumencie była pozycją domyślną, nie zmieniłem jej na absolutną, stałą ani nic.
Praca z responsywnym projektem
Oto coś, co chciałbym wyjaśnić. To rozwiązanie, z tą samą stopką o wysokości 40 pikseli, nie działało tak, jak się spodziewałem, gdy pracowałem w responsywnym projekcie Twitter-Bootstrap
. Musiałem zmodyfikować wartość, którą odejmowałem w funkcji:
.allButFooter {
min-height: calc(100vh - 95px);
}
Jest tak prawdopodobnie dlatego, że Twitter-Bootstrap
ma własne marginesy i wypełnienia, dlatego musiałem dostosować tę wartość.
Mam nadzieję, że wam się to przyda! Przynajmniej jest to proste rozwiązanie i nie wymaga wprowadzania dużych zmian w całym dokumencie.