CSS
* {margin:0;padding:0;}
html,body {height:100%;}
body {margin:0 auto;position:relative;width:990px;}
#header,#menu,#middle,.content,#footer {overflow:hidden;}
#header,#menu,.content,#footer {border:#000 1px solid;}
#middle {
border-bottom:#000 1px solid;margin-bottom:2px;
position:relative;top:-40px;min-height:100%;
}
.content {
background-color:#fff;margin-top:194px;
margin-bottom:-32600px;padding-bottom:32600px;
}
#header,#menu {position:absolute;width:988px;}
#header {top:2px;height:110px;}
#menu {top:116px;height:34px;}
#footer {margin-top:-40px;height:34px;}
*html #middle {overflow:visible;height:100%;}
HTML
<body>
<div id="middle">
<div class="content">
Content
</div>
</div>
<div id="footer">Footer</div>
<div id="header">Header</div>
<div id="menu">Горизонтальное меню</div>
</body>