Saya biasanya terbiasa dengan teknik pembilasan footer menggunakan css.
Tetapi saya mengalami masalah dalam mendapatkan pendekatan ini untuk bootstrap Twitter, kemungkinan besar karena bootstrap Twitter responsif. Menggunakan bootstrap Twitter saya tidak bisa mendapatkan footer untuk menyiram ke bagian bawah halaman menggunakan pendekatan yang dijelaskan dalam posting blog di atas.
css
twitter-bootstrap
footer
Calvin Cheng
sumber
sumber
Jawaban:
Menemukan potongan-potongan di sini berfungsi dengan sangat baik untuk bootstrap
Html:
CSS:
sumber
Ini sekarang termasuk dalam Bootstrap 2.2.1.
Bootstrap 3.x
Gunakan komponen navbar dan tambahkan
.navbar-fixed-bottom
kelas:Bootstrap 4.x
Jangan lupa untuk menambahkan
body { padding-bottom: 70px; }
atau jika tidak, konten halaman dapat dicakup.Documents: http://getbootstrap.com/components/#navbar-fixed-bottom
sumber
navbar-static-bottom
.Contoh kerja untuk bootstrap Twitter NOT STICKY FOOTER
Versi yang selalu diperbarui jika pengguna membuka devtools atau mengubah ukuran jendela.
Anda memerlukan setidaknya satu elemen dengan a
#footer
Bila tidak menginginkan bilah gulir jika isinya pas dengan layar, ubah saja nilai 10 menjadi 0
Bilah gulir akan muncul jika isinya tidak cocok dengan layar.
sumber
$('#footer').height();
dengan$('#footer').outerHeight();
$(window).resize(function() {//main code goes here});
dan aktifkan$(window).resize();
untuk mengaturnya saat halaman dimuat.Berikut cara menerapkan ini dari halaman resmi:
http://getbootstrap.com/2.3.2/examples/sticky-footer.html
Saya baru saja mengujinya sekarang dan BEKERJA HEBAT! :)
HTML
Kode CSS yang relevan adalah ini:
sumber
Untuk Sticky Footer kami menggunakan dua
DIV's
di HTML untuk efek footer sticky dasar . Tulis seperti ini:HTML
CSS
sumber
Contoh resmi yang jauh lebih sederhana: http://getbootstrap.com/examples/sticky-footer-navbar/
sumber
Yah saya menemukan campuran
navbar-inner
dannavbar-fixed-bottom
Tampaknya bagus dan berfungsi untuk saya
Lihat contoh di Fiddle
sumber
Dalam versi terbaru dari bootstrap 4.3, ini bisa dilakukan menggunakan
.fixed-bottom
kelas.Inilah cara saya menggunakannya dengan catatan kaki:
Anda dapat menemukan informasi lebih lanjut di dokumentasi posisi di sini .
sumber
Jawaban HenryW baik, meskipun saya perlu beberapa penyesuaian untuk membuatnya bekerja seperti yang saya inginkan. Secara khusus yang berikut ini juga menangani:
Inilah yang berhasil bagi saya dengan tweak itu:
HTML:
CSS:
JavaScript:
sumber
Ini bekerja dengan baik untuk saya.
Tambahkan kelas ini navbar-fix-bottom ke footer Anda.
Saya menggunakannya seperti ini:
Dan itu diatur ke bawah di atas lebar penuh.
Sunting: Ini akan mengatur footer agar selalu terlihat, itu adalah sesuatu yang perlu Anda pertimbangkan.
sumber
Anda perlu membungkus
.container-fluid
div Anda agar footer lengket Anda berfungsi, Anda juga kehilangan beberapa properti di.wrapper
kelas Anda . Coba ini:Hapus tag
padding-top:70px
Andabody
dan sertakan di tag Anda.container-fluid
, seperti:Kita harus melakukan ini karena menekan ke
body
bawah untuk mengakomodasi navbar akhirnya mendorong footer sedikit lebih jauh (70px lebih lanjut) melewati viewport sehingga kita mendapatkan scrollbar. Kami mendapatkan hasil yang lebih baik dengan mendorong.container-fluid
div.Selanjutnya kita harus menghapus
.wrapper
kelas di luar.container-fluid
div Anda dan membungkus#main
div Anda dengan itu, seperti:Footer Anda tentu saja harus keluar dari
.wrapper
div jadi hapus dari `.wrapper div dan letakkan di luar, seperti:Setelah semuanya selesai, dorong kaki Anda lebih dekat ke
.wrapper
kelas dengan menggunakan margin negatif, seperti:Dan itu akan berhasil, meskipun Anda mungkin harus memodifikasi beberapa hal lain untuk membuatnya berfungsi ketika layar diubah ukurannya, seperti mengatur ulang ketinggian di
.wrapper
kelas, seperti:sumber
Ini adalah cara yang tepat untuk melakukannya dengan Twitter Bootstrap dan kelas navbar-fixed-bottom baru: (Anda tidak tahu berapa lama saya habiskan mencari ini)
CSS:
HTML:
sumber
Gunakan utilitas fleksibel bawaan Bootstrap 4! Inilah yang saya buat dengan menggunakan sebagian besar utilitas Bootstrap 4.
.d-flex
untuk membuat div utama wadah fleksibel.flex-column
pada div utama untuk mengatur item fleksibel Anda dalam sebuah kolommin-height: 100vh
ke div utama, baik dengan atribut style atau di CSS Anda, untuk mengisi viewport secara vertikal.flex-grow-1
pada wadah, elemen agar wadah konten utama mengambil semua ruang yang tersisa di ketinggian viewport.sumber
min-height: 100vh
yangmin-vh-100
kelas dari Bootstrap dapat digunakan.Gunakan komponen navbar dan tambahkan kelas .navbar-fixed-bottom:
tambahkan tubuh
sumber
untuk menangani tata letak pembatas lebar gunakan langkah-langkah berikut agar sudut tidak membulat, dan nav bar Anda akan rata ke sisi-sisi aplikasi
maka Anda dapat menggunakan css untuk mengganti kelas bootstrap untuk menyesuaikan tinggi, font, dan warna
sumber
Anda dapat menggunakan jQuery untuk menangani ini:
sumber
Satu-satunya yang bekerja untuk saya !:
sumber
Teknik paling sederhana adalah menggunakan Bootstrap
navbar-static-bottom
bersamaan dengan pengaturan div wadah utama denganheight: 100vh
( persentase port tampilan CSS3 baru ). Ini akan membilas footer ke bawah.sumber
Diuji dengan
Bootstrap 3.6.6
.HTML
CSS
sumber
Tinggi footer cocok dengan ukuran indentasi bagian bawah elemen pembungkus.
sumber
Inilah solusi untuk Bootstrap versi terbaru (4.3 saat penulisan) menggunakan Flexbox.
HTML:
CSS:
Dan contoh codepen: https://codepen.io/tillytoby/pen/QPdomR
sumber
Per contoh Bootstrap 4.3 , jika Anda kehilangan kewarasan seperti yang saya lakukan, beginilah cara kerjanya:
height: 100%
(h-100
kelas)display: flex
(d-flex
kelas)margin-top: auto
(mt-auto
kelas)Masalahnya adalah bahwa dalam kerangka front-end modern kita sering memiliki pembungkus tambahan di sekitar elemen-elemen ini.
Misalnya dalam kasus saya, dengan Angular, saya menyusun tampilan dari root aplikasi terpisah, komponen aplikasi utama, dan komponen footer - yang semuanya menambahkan elemen khusus mereka ke DOM.
Jadi, untuk membuatnya bekerja, saya harus menambahkan kelas ke elemen pembungkus ini: tambahan
h-100
, memindahkand-flex
satu tingkat ke bawah, dan memindahkanmt-auto
satu tingkat ke atas dari footer (jadi sebenarnya itu bukan pada kelas footer lagi, tetapi pada<app-footer>
kebiasaan saya elemen).sumber
class="h-100"
ke<html>
tag juga.Gunakan kode ini di bootstrap kerjanya
sumber
Solusi Bootstrap v4 +
Berikut adalah solusi yang tidak perlu memikirkan kembali struktur HTML atau tipuan CSS tambahan yang melibatkan bantalan:
Perhatikan bahwa solusi ini memungkinkan untuk footer dengan ketinggian fleksibel, yang khususnya berguna ketika merancang halaman untuk berbagai ukuran layar dengan pembungkus konten saat menyusut.
Mengapa ini berhasil?
style="height:100%;"
membuat<html>
tag mengambil seluruh ruang dokumen.d-flex
set kelasdisplay:flex
ke<body>
tag kami .flex-column
set kelasflex-direction:column
ke<body>
tag kami . Anak-anaknya (<header>
,<main>
,<footer>
dan setiap anak langsung lainnya) sekarang selaras secara vertikal.h-100
setheight:100%
ke<body>
tag kita , artinya akan menutupi seluruh layar secara vertikal.flex-grow-1
setflex-grow:1
ke kami<main>
, secara efektif menginstruksikannya untuk mengisi ruang vertikal yang tersisa, dengan demikian sebesar ketinggian vertikal 100% yang kami atur sebelumnya pada<body>
tag kami .Demo yang berfungsi di sini: https://codepen.io/maxencemaire/pen/VwvyRQB
Lihat https://css-tricks.com/snippets/css/a-guide-to-flexbox/ untuk informasi lebih lanjut tentang flexbox.
sumber
h-100
kelas tidak bekerja dengan baik, lebih baik digunakanmin-vh-100
.h-100
kelas selalu tergantung pada tinggi elemen induk dan mungkin tidak bekerja pada beberapa kasus dengan benar. Karena kami ingin footer di bagian bawah viewport itu akan menjadi praktik yang baik untuk menggunakan tinggi viewport.min-width
. Itulah sebabnyaHTML
tag memilikiheight
100% dalam kode. Contoh berfungsi dan saya tidak melihat mengapa itu tidak akan memberikan dukungan lintas-browser untukheight
properti CSS , yang pada akhirnya adalah apa yang diterjemahkan oleh potongan Bootstrap.HTML
tag. Dalam kasus saya, solusi Anda tidak berfungsi karena saya tidak suka menggunakan gaya dalamHTML
tag. Dan saya tidak inginbody
tag tergantung pada orang tua lain tetapi viewport. Anda tidak harus meletakkanstyle="height:100%;"
danh-100
pada saat yang sama. Putingmin-vh-100
ke tubuh hanya melakukan pekerjaan dan lebih sedikit kode.Sepertinya
height:100%
'rantai' sedang rusakdiv#main
. Coba tambahkanheight:100%
padanya dan itu bisa membuat Anda lebih dekat ke tujuan Anda.sumber
Di sini Anda akan menemukan pendekatan dalam HAML ( http://haml.info ) dengan navbar di bagian atas dan catatan kaki di bagian bawah halaman:
sumber
Tetap sederhana.
Anda mungkin perlu juga mengimbangi ketinggian footer dengan menambahkan
margin-bottom
setara dengan tinggi footer kebody
.sumber
Berikut ini contoh menggunakan css3:
CSS:
HTML:
biola
sumber
Beginilah cara bootstrap melakukannya:
http://getbootstrap.com/2.3.2/examples/sticky-footer.html
Cukup gunakan sumber halaman dan Anda harus dapat melihatnya. Jangan lupa
<div id="wrap">
yang atas.sumber
solusi lain yang mungkin, hanya menggunakan kueri media
sumber