Apa cara terbaik untuk membuat elemen dengan tinggi minimum 100% di berbagai browser?
Khususnya jika Anda memiliki tata letak dengan header
dan footer
fixed height
,
bagaimana Anda membuat bagian konten menengah mengisi 100%
ruang di antara dengan footer
tetap ke bawah?
min-height: 100vh;
. Ini menetapkan tinggi yang sama atau lebih besar dengan ukuran layarvh: vertical height
,. Untuk lebih lanjut: w3schools.com/cssref/css_units.asp .vh
singkatanviewport height
dan Anda juga dapat menggunakanvw
untukviewport width
danvmin
untuk dimensi mana pun yang terkecilviewport minimum
,.Jawaban:
Saya menggunakan yang berikut ini: Layout CSS - tinggi 100%
Bekerja dengan baik untuk saya.
sumber
Untuk mengatur ketinggian khusus yang dikunci ke suatu tempat:
sumber
Berikut ini adalah solusi lain berdasarkan
vh
, atauviewpoint height
, untuk detail kunjungi unit CSS . Ini didasarkan pada solusi ini , yang menggunakan flex sebagai gantinya.Anda dapat menemukan informasi lebih lanjut di sini:
sumber
Jawaban kleolb02 terlihat cukup bagus. cara lain akan menjadi kombinasi dari footer lengket dan hack min-height
sumber
Agar
min-height
dapat bekerja dengan benar dengan persentase, saat mewarisi simpul induknyamin-height
, triknya adalah mengatur tinggi simpul induk1px
dan kemudian anakmin-height
akan bekerja dengan benar.Halaman demo
sumber
CSS
Solusi murni (#content { min-height: 100%; }
) akan bekerja dalam banyak kasus, tetapi tidak di semua kasus - terutama IE6 dan IE7.Sayangnya, Anda harus menggunakan solusi JavaScript untuk mendapatkan perilaku yang diinginkan. Ini dapat dilakukan dengan menghitung ketinggian yang diinginkan untuk konten Anda
<div>
dan mengaturnya sebagai properti CSS dalam suatu fungsi:Anda kemudian dapat mengatur fungsi ini sebagai penangan untuk
onLoad
danonResize
acara:sumber
Saya setuju dengan Levik karena wadah induk disetel ke 100% jika Anda memiliki sidebar dan ingin mereka mengisi ruang untuk bertemu dengan footer, Anda tidak dapat mengaturnya menjadi 100% karena mereka akan 100 persen tinggi induk juga yang berarti footer berakhir didorong ke bawah saat menggunakan fungsi yang jelas.
Pikirkan dengan cara ini jika tajuk Anda mengatakan tinggi 50px dan catatan kaki Anda adalah tinggi 50px dan kontennya hanya dilisensikan secara otomatis ke ruang yang tersisa, katakanlah 100px misalnya dan kontainer halaman adalah 100% dari nilai ini, tingginya akan 200px. Kemudian ketika Anda mengatur tinggi sidebar menjadi 100%, maka itu adalah 200px meskipun seharusnya pas di antara header dan footer. Alih-alih itu berakhir menjadi 50px + 200px + 50px sehingga halaman sekarang 300px karena sidebar diatur dengan ketinggian yang sama dengan wadah halaman. Akan ada ruang putih besar di isi halaman.
Saya menggunakan internet Explorer 9 dan inilah yang saya dapatkan sebagai efek ketika menggunakan metode 100% ini. Saya belum mencobanya di browser lain dan saya berasumsi bahwa itu mungkin bekerja di beberapa opsi lain. tetapi itu tidak universal.
sumber
Pertama, Anda harus membuat
div
denganid='footer'
setelah Andacontent
div dan kemudian cukup lakukan ini.HTML Anda akan terlihat seperti ini:
Dan CSS:
sumber
Coba ini:
The
div
elemen di bawah div konten harus memilikiclear:both
.sumber
Mungkin solusi terpendek (hanya berfungsi di browser modern)
Sepotong kecil CSS ini membuat
"the middle content part fill 100% of the space in between with the footer fixed to the bottom"
:satu-satunya persyaratan adalah Anda harus memiliki footer tinggi tetap.
Misalnya untuk tata letak ini:
Anda membutuhkan CSS ini:
sumber
Anda dapat mencoba ini: http://www.monkey-business.biz/88/horizontal-zentriertes-100-hohe-css-layout/ Itu 100% tinggi dan pusat horizontal.
sumber
bagikan saja apa yang telah saya gunakan, dan berfungsi dengan baik
sumber
Seperti disebutkan dalam jawaban Afshin Mehrabani, Anda harus mengatur tinggi badan dan html menjadi 100%, tetapi untuk mendapatkan catatan kaki di sana, hitung tinggi bungkusnya:
sumber