Tine: Element am unteren Rand des viewports positionieren

Beitrag lesen

Haben Header und Footer bekannte Höhen? Dann kanst du beide absolut bzw. fixed positionieren und dem body oben und unten antsprechendes padding geben.

Oder, wenn du pures HTML5 verwenden willst/kannst css calc

mit calc kann man sich aber nicht auf ein anderes Element beziehen, oder:
z.B. 100%-height(Header)