Noch ein Nachtrag:
Dein Code erinnert nur vage an HTML. HTML dient dazu, dem Inhalt eine logische Bedetung zu geben, man spricht hier von der Semantik. Davon ist bei Dir nichts zu erkennen. Lerne HTML!
Das Element z.B. hat die Bedeutung „Gruppe mehrerer Elemente“. Wo ist bei Dir bei den Links eine Gruppe? Sind nichtmal mehrere Elemente.
Außerdem hat ein Menü auch eine semantische Bedeutung. Es entspricht einer Liste. Daher zeichnet man ein Menü auch als Liste aus.
Dein div#header scheint sinnfrei zu sein. Zum einen gibt es Tags, die Überschriften verschiedener Ordnung definieren, zum anderen hat div#header ja überhaupt keinen Inhalt. Vermutlich hast Du da ein background-image. Aber da Du es „header“ nennst, vermute ich, dass das Image Content enthält (weiß ich natürlich nicht, da ich das Image nie gesehen habe), dann müsste es aber per eingebunden werden.
Du leidest unter Divitis bzw. kochst div-Suppe. Irgendwo hast Du gelesen, dass s irgendwie wichtig sein sollen. Tatsächlich ist das Tag aber weniger wichtig als , oder . Layout macht man mit CSS und nicht mit HTML, weder mit noch mit .
Setz Dich zwischen den Jahren mal hin und lerne HTML, so wie es eigentlich gedacht ist, zur Vermittlung der Semantik. Denn CSS funktioniert nur gescheit mit einer validen und semantisch sinnvollen Basis aus HTML.