Saya menggunakan ini untuk menempelkan footer saya ke bawah dan itu berhasil untuk saya:
HTML
<body>
<div class="allButFooter">
<!-- Your page's content goes here, including header, nav, aside, everything -->
</div>
<footer>
<!-- Footer content -->
</footer>
</body>
Itu satu-satunya modifikasi yang harus Anda lakukan dalam HTML, tambahkan itu div
dengan "allButFooter"
kelas. Saya melakukannya dengan semua halaman, yang sangat pendek, saya tahu footer tidak akan menempel ke bawah, dan juga halaman cukup lama sehingga saya sudah tahu saya harus menggulir. Saya melakukan ini, sehingga saya bisa melihat bahwa itu berfungsi ok jika konten halaman dinamis.
CSS
.allButFooter {
min-height: calc(100vh - 40px);
}
The "allButFooter"
kelas memiliki min-height
nilai yang tergantung pada ketinggian viewport ini ( 100vh
berarti 100% dari tinggi viewport) dan tinggi footer, bahwa aku sudah tahu itu 40px
.
Hanya itu yang saya lakukan, dan itu bekerja dengan baik untuk saya. Saya belum mencobanya di setiap browser, hanya Firefox, Chrome dan Edge, dan hasilnya seperti yang saya inginkan. Footer menempel ke bawah, dan Anda tidak perlu mengacaukan indeks-z, posisi, atau properti lainnya. Posisi setiap elemen dalam dokumen saya adalah posisi default, saya tidak mengubahnya menjadi absolut atau tetap atau apa pun.
Bekerja dengan desain responsif
Inilah sesuatu yang ingin saya jelaskan. Solusi ini, dengan Footer yang sama dengan tinggi 40px tidak berfungsi seperti yang saya harapkan ketika saya bekerja dalam desain responsif menggunakan Twitter-Bootstrap
. Saya harus mengubah nilai yang saya kurangi dalam fungsi:
.allButFooter {
min-height: calc(100vh - 95px);
}
Ini mungkin karena Twitter-Bootstrap
dilengkapi dengan margin dan bantalannya sendiri, jadi itu sebabnya saya harus menyesuaikan nilai itu.
Saya harap ini berguna bagi kalian! Setidaknya, ini adalah solusi sederhana untuk dicoba, dan itu tidak melibatkan membuat perubahan besar pada keseluruhan dokumen.