Hallo
Du verwendest leider einige Lösungen die benutzerunfreundlich sind und grundsätzlich vermieden werden sollten.
Hamburger-Menü: Damit können viele User nichts anfangen. Webseitenersteller leben in einer eigenen Wissenswelt und glauben, dass ihr Wissen allen Webseitenbesuchern bekannt ist. Oder sie verlangen es arroganterweise sogar. Versteckte Texte (alle, alle, alle) sollten grundsätzlich vermieden werden, sie sind für viele User unüberwindbare Barrieren. Sie machen Seiten nicht besser sondern schlechter.
Zudem sollte jeder unnötige Klick / Tipp vermieden werden. Der Klick, um ein Hamburger-Menü zu öffnen ist unnötig - also weglassen.
Sticky Footer: Der ist genauso unnötig. Niemand braucht einen Sticky Footer und wenn eine Webseite erst mal Inhalt mit einer vernünftigen besucherfreundlichen Schriftgröße hat kommt der auch überhaupt nicht mehr zum tragen. Und wenn bei einzelnen Seiten der Footer nicht am unteren Fensterrand steht: Es stirbt niemand. Es verletzt sichniemand. Niemand verläßt vor lauter Schreck die Seite. Die Seite wirkt nicht unseriöser oder laienhafter. In China fällt kein Sack Reis um. Sticky Footer ist eine Spielerei, für die Praxis ohne Sinn.
Weiterhin sollten Texte niemals direkt in Containern wie main, aside, nav, header, footer, article, section, div oder ähnlichen stehen. Auch nicht auf Testseiten.
Weiterhin sollten auch Lern- und Testseiten sinnvollen Inhalt haben. Nur so können Lösungen sinnvoll erstellt werden. Du kannst als Vorlage zum Beispiel Artikel von Wikipedia verwenden oder vorhande Webseiten auf einen aktuellen Quelltext umbauen. Für die Schüler ist es zudem ein sichtbarer Erfolg, wenn sie ihre Verbesserungen später mit dem Original vergleichen.
Inzwischen wird von allen aktuellen Browsern CSS-Grid hinreichend unterstützt. Deshalb kann CSS-Grid dort verwendet werden, wo es sinnvoll ist. CSS-Grid und Flexbox haben unterschiedliche Aufgaben. In einigen Fällen können sie gleich sinnvoll verwendet werden, manchmal ist CSS-Grid sinnvoller, manchmal Flexbox.
In deinem Fall ist CSS-Grid für das Grundlayout der Seite sinnvoller als Flexbox. Falls dir die Unterstützung von CSS-Grid noch nicht ausreicht kannst du Flexbox als Fallback verwenden.
Zitat
Kann man das mit FlexBoxen eleganter lösen (guter Stil)?
Ja. Bei dem Ansatz "Mobile First" gleich ein Fallback für die wenigen Browser einrichten, die Flexbox noch nicht beherrschen.
Und überflüssige Container von Beginn an weglassen. In diesem kurzen Quelltext .headerwrapper und .innenbody.
Gruss
MrMurphy