Ответ 1
2014 UPDATE. Современный способ решить эту проблему макета - использовать flexbox
CSS-модель. Он поддерживается всеми основными браузерами и IE11 +.
Здесь решение для липкого нижнего колонтитула гибкой высоты с использованием div
с display: table-row
:
html, body {
height: 100%;
margin: 0;
}
.wrapper {
display: table;
height: 100%;
width: 100%;
background: yellow;
}
.content {
display: table-row;
/* height is dynamic, and will expand... */
height: 100%;
/* ...as content is added (won't scroll) */
background: turquoise;
}
.footer {
display: table-row;
background: lightgray;
}
<div class="wrapper">
<div class="content">
<h2>Content</h2>
</div>
<div class="footer">
<h3>Sticky footer</h3>
<p>Footer of variable height</p>
</div>
</div>