Vorgehensweise
Ein Container #wrap
, der den gesamten Inhalt (außer #footer
) umschließt, erhält eine Mindesthöhe von 100%. Da sich die Höhenangabe in % auf den height
-Wert des Elternelements bezieht, bekommen die Eltern html
und body
jeweils height:100%
.
Der #footer
steht unterhalb des Elements #wrap
. Er wird durch einen negativen margin, der so groß wie seine Höhe ist, in den sichtbaren Bereich gezogen.
Bei wenig Inhalt sitzt der #footer
immer am unteren Rand des Browserfensters. Wenn der Inhalt mehr Platz benötigt – also gescrollt werden muss – wandert der #footer
mit dem Inhalt nach unten.
Diese Technik ist bekannt als footerStickAlt.
Der IE bis einschließlich Version 6 kennt die min-height-Eigenschaft nicht, interpretiert aber die height-Eigenschaft falsch (die Elemente wachsen mit dem Inhalt). Der IE erhält also separat (hier per Hack) ein height:100% für #wrap.
Minimales CSS
* {
margin:0;
padding:0;
}
html, body {
height:100%;
}
#wrap {
min-height:100%;
}
/* IE Win < 7 only \*/
* html #wrap {
height:100%;
}
/* end IE Win < 7 only */
#footer {
height:3em;
margin-top:-3em;
}
Minimales HTML
<div id="wrap">
</div>
<div id="footer">
</div>