Nein, die Höhe ist eben nicht bekannt, deswegen ja REferenz auf ein anderes Element.
dh du hast einen Header und einen Footer mit flexibler Höhe und willst den rest dazwischen aufteilen?
Wg. Browserunterstützung würde mir ein aktueller webkit genügen
Dann nimm Tabellen-Eigenschaften
body als table, header, footer und inhalt als table-row - das funktioniert möglicherweise.