<div class="wrapper">
<div class="main">
<div class="header">
<div>Код блока HEADER</div>
</div>
<div class="article">
<p>Код блока article </p>
</div>
</div>
<div class="footer">
<div>Код блока FOOTER</div>
</div>
</div>
position: fixed; top: 0; left: 0; width: 100%;
position: fixed; bottom: 0; left: 0; width: 100%;
padding-top
и padding-bottom
задать для компенсации высоты хэдера и футера, чтобы содержание не "пряталось" за ними.