Aşağıdakini kullanıyorum: CSS Düzeni -% 100 yükseklik
Minimum yükseklikte
Bu sayfanın #container öğesinin minimum yüksekliği% 100'dür. Bu şekilde, içerik görünüm penceresinin sağladığından daha fazla yükseklik gerektiriyorsa, #content #container'ın yüksekliği de daha uzun olur. #Content öğesindeki olası sütunlar #container'da arka plan görüntüsü ile görselleştirilebilir; div'ler tablo hücreleri değildir ve böyle bir görsel efekt oluşturmak için fiziksel öğelere ihtiyacınız yoktur (veya istemezsiniz). Henüz ikna olmamışsanız; düz çizgiler ve basit renk şemaları yerine titrek çizgiler ve degradeler düşünün.
Göreli konumlandırma
#Container'ın göreceli bir konumu olduğundan #footer her zaman en altta kalır; yukarıda belirtilen minimum yükseklik #container'ın ölçeklenmesini engellemediğinden, #content #container #container öğesini daha uzun olmaya zorlasa bile (veya özellikle de).
Padding-bottom
Artık normal akışta olmadığından, #content öğesinin dolgu tabanı artık mutlak #footer için alan sağlıyor. Bu dolgu varsayılan olarak kaydırılan yüksekliğe dahil edilir, böylece altbilgi asla yukarıdaki içeriğin üzerine gelmez.
Bu düzeni test etmek için metin boyutunu biraz ölçeklendirin veya tarayıcı pencerenizi yeniden boyutlandırın.
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;
}
Benim için iyi çalışıyor.
min-height: 100vh;
. Bu, yüksekliği ekranın boyutuna eşit veya daha büyük olarak ayarlarvh: vertical height
. Daha fazla bilgi için: w3schools.com/cssref/css_units.asp .