So sollte das klappen (Jedenfalls hat es das bei mir schon mal ):
Code:
#header {
height: 80px;
}

#content {
  height: 100%;
  margin-top: -80px;
  padding-top: 80px;
  padding-bottom: 300px;
}

#footer {
  height: 300px;
  margin-top: -300px;
}