Saya menggunakan yang berikut ini: Layout CSS - tinggi 100%
Tinggi Min
Elemen #container halaman ini memiliki tinggi minimum 100%. Dengan begitu, jika konten membutuhkan ketinggian lebih dari yang disediakan viewport, ketinggian #content memaksa #container menjadi lebih panjang juga. Kolom yang mungkin di #content kemudian dapat divisualisasikan dengan gambar latar belakang di #container; div bukan sel tabel, dan Anda tidak perlu (atau ingin) elemen fisik untuk membuat efek visual seperti itu. Jika Anda belum yakin; pikirkan garis dan gradien goyah alih-alih garis lurus dan skema warna sederhana.
Posisi relatif
Karena #container memiliki posisi relatif, #footer akan selalu berada di dasarnya; karena ketinggian minimum yang disebutkan di atas tidak mencegah penskalaan #container, ini akan berfungsi bahkan jika (atau lebih tepatnya ketika #content memaksa #container menjadi lebih panjang.
Padding-bottom
Karena tidak lagi dalam aliran normal, padding-bottom dari #content sekarang menyediakan ruang untuk #footer absolut. Padding ini termasuk dalam ketinggian yang digulir secara default, sehingga footer tidak akan pernah tumpang tindih dengan konten di atas.
Skala ukuran teks sedikit atau ubah ukuran jendela browser Anda untuk menguji tata letak ini.
html,body {
margin:0;
padding:0;
height:100%; /* needed for container min-height */
background:gray;
font-family:arial,sans-serif;
font-size:small;
color:#666;
}
h1 {
font:1.5em georgia,serif;
margin:0.5em 0;
}
h2 {
font:1.25em georgia,serif;
margin:0 0 0.5em;
}
h1, h2, a {
color:orange;
}
p {
line-height:1.5;
margin:0 0 1em;
}
div#container {
position:relative; /* needed for footer positioning*/
margin:0 auto; /* center, not in IE5 */
width:750px;
background:#f0f0f0;
height:auto !important; /* real browsers */
height:100%; /* IE6: treaded as min-height*/
min-height:100%; /* real browsers */
}
div#header {
padding:1em;
background:#ddd url("../csslayout.gif") 98% 10px no-repeat;
border-bottom:6px double gray;
}
div#header p {
font-style:italic;
font-size:1.1em;
margin:0;
}
div#content {
padding:1em 1em 5em; /* bottom padding for footer */
}
div#content p {
text-align:justify;
padding:0 1em;
}
div#footer {
position:absolute;
width:100%;
bottom:0; /* stick to bottom */
background:#ddd;
border-top:6px double gray;
}
div#footer p {
padding:1em;
margin:0;
}
Bekerja dengan baik untuk saya.
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 .