@@var
Vorweg: Ich habe mich entschlossen, den gesamten Inhalt doch in ein
<div class="wrap">einzuwickeln und als Bezugsrahmen nicht<body>zu nehmen, da ich - sofern Browserunterstützung besteht - den Hintergrund der Seite mittels WebGL gestalten (und animieren) will, also mit einem<canvas>- und das sollte das Browserfenster nach Möglichkeit vollständig ausfüllen (body > canvas { width: 100%; height: 100%; }).
Das ist kein hinreichender Grund für den div-Container. Du kannst canvas absolut positionieren; das bezieht sich immer noch auf den Viewport, wenn du nicht gerade body positioniest.
Nebenbei:
<header>und<footer>sind Teil einer Klasse, da ich innerhalb meiner<article>noch mehr Elemente von der Sorte habe und ich den CSS-Code dadurch lesbarer finde...
Das ist gar kein Grund für Klassen. Du kannst Seitenheader und -footer als body > header bzw. body > footer selektieren. Das macht den CSS-Code lesbarer, weil man gar nicht ins HTML kucken muss, um ihn zu verstehen.
LLAP
„Talente finden Lösungen, Genies entdecken Probleme.“ (Hans Krailsheimer)