Sadece eklemek istiyorum - diğer cevapların çoğu benim için iyi çalıştı; ancak, onları çalıştırmak uzun zaman aldı!
Bunun nedeni, ayarın height: 100%
yalnızca üst div yüksekliğini almasıdır!
Yani tüm html'niz (vücudun içinde) aşağıdaki gibi görünüyorsa:
<div id="holder">
<header>.....</header>
<div id="body">....</div>
<footer>....</footer>
</div>
Sonra aşağıdakiler iyi olacak:
html,body{
height: 100%
}
#holder{
min-height: 100%;
position:relative;
}
#body{
padding-bottom: 100px; /* height of footer */
}
footer{
height: 100px;
width:100%;
position: absolute;
left: 0;
bottom: 0;
}
... "tutucu" yüksekliğini doğrudan "gövde" den alacağı için.
Kafamı Şeref Yaratır, cevabı işe başladığım cevaptı!
Ancak. Html'niz daha fazla iç içe yerleştirilmişse (yalnızca tam sayfanın bir öğesi olduğu veya belirli bir sütunda vb. Olduğu için), her içeren öğenin div'de de height: 100%
ayarlandığından emin olmanız gerekir . Aksi takdirde, yükseklik hakkındaki bilgi "gövde" ve "tutucu" arasında kaybolacaktır.
Örneğin, yüksekliğin üstbilgi / gövde / altbilgi öğelerimize kadar ulaştığından emin olmak için her div'e "tam yükseklik" sınıfını eklediğim yer:
<div class="full-height">
<div class="container full-height">
<div id="holder">
<header>.....</header>
<div id="body">....</div>
<footer>....</footer>
</div>
</div>
</div>
Ve css'deki tam boy sınıfta yükseklik ayarlamayı unutmayın:
#full-height{
height: 100%;
}
Sorunlarımı düzeltti!
position:fixed
, ancak bu tam olarak bunu yapmak için en iyi yol olmayacak