das Problem bliebt das ContentDiv zwischen Header und Footer welches das Grafische Element zur Verbindung von Header und Footer aufnimmt.
Du hast noch eine Reihe anderer Elemente die du dafür verwenden kannst - trenne dich von eventuell vorhandemem Tabellendenken. Mit CSS kann etwas ohne Probleme so aussehen als sei es an einer bestimmte Stelle auch wenn es im Dokument völlig wo anders steht.