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>