para lograr esto, no deberias ponerle un alto al header y footer del 100% sino uno especifico, para poder centrar el content y te deje los margenes respectivos, algo asi:
Cita: *{padding:0; margin:0}
body{background:#ccc}
.header{position:fixed; top:0; width:100%; background:#fff; height:90px}
.footer{position:fixed; bottom:0; width:100%; background:#fff; height:30px}
.content{width:900px; margin:100px auto;}
Cita: <div class="header">header</div>
<div class="content">content</div>
<div class="footer">footer</div>