Moin,
Ich habe wenig Ahnung und wenig Zeit, wollte die Hompeage aber
unbedingt selber machen.
Das passt definitiv nicht zusammen.
Hat auch ganz gut funktioniert
Nein, das habe ich ja schon widerlegt. Das Ergebnis ist nix. Weder technisch (wo ist die Semantik? div-Suppe?) noch vom Aussehen her.
sieht in den gängigsten Auflösungen passable aus
Was hat das Ausehen einer Website mit der Auflösung zu tun? Nichts.
Auch bei großer Auflösung kann der Viewport klein sein. Und in kleinen Viewports gibts bei Dir halt unnötige horizontale Scrollbalken.
auch wenn der Code
sehr provisorisch aussieht.
Wie der Code *aussieht*, ist eigentlich egal. Er muss syntaktisch richtig sein und er sollte semantisch sinnvoll sein, weil sonst das Ziel von HTML nicht erreicht wird und Du damit Barrieren aufbaust, die nicht von allen Clients (ob Mensch oder Maschine, ob Sehend oder Blind) nicht richtig verarbeitet werden können - und die zudem unnötig sind, weil man HTML ja richtig anwenden kann! Man muss es eben nur auch tun.
Ich dachte div und css gehören zusammen.
Erstmal ist div ein HTML-Tag und nicht CSS und gehört somit nicht zusammen. Und da man Inhalt und Layout am besten strikt voneinander trennt, gehört das erst recht nicht zusammen.
Insofern gehören HTML und CSS natürlich doch zusammen, als dass man mit CSS die Elemente, die man mit HTML erzeugt, formatieren kann.
Aber es ist nicht so, dass man nur div-Elemente formatieren kann. Was Du mit einem div in CSS machen kannst, kannst Du auch mit einem ul oder einem h1 machen, denn alle verhalten sich gleich, denn sie sind alle Block-Elemente. Nur in eher seltenen Fällen fügt man ein semantisch nutzloses div ein, was aber semantisch nicht das Problem ist, weil div ja nur das „allgemeine Block-Element“ ist. Ansonsten dient es aber nur, Gruppen auszuzeichnen, weswegen es unsinnig, überflüssig und unübersichtlich ist, wenn man da nur ein einziges Element rein legt.
Damit steuert man
sozusagen die CSS Eigenschaften an?
Das ist definitiv falsch. Die CSS-Eigenschaften kann man prinzipiell *JEDEM* HTML-Element zuweisen, nicht nur dem div! Anders wäre es ja auch unlogisch. Du kannst auch eine Liste absolut positionieren oder eine Überschrift zentrieren. Um das Aussehen eines HTML-Elements festzulegen, braucht man nicht noch ein zusätzliches Element. Das ist der größte Fehler, den HTML-Anfänger machen - sie glauben, das div wäre irgend ein Zauber-Tag.
Versuch es mal. Lass das div weg, wo es nur geht, nur wenn Du mehrere Elemente gruppieren willst, um ihnen eine gemeinsame Formatierung zu geben, nur dann brauchst Du das div (in HTML5 sieht das dann wieder ganz anders aus, aber das möchte ich hier mal noch weglassen).
Ich seh schon du hilfst mir ungern bei meiner Pfuscherei, aber
ne vorrübergehende Lösung um die Tabelle zu zentrieren fällt
dir nicht ein? 
Ich schrieb, dass man Tabellen zentriert, wie alle anderen Block-Elemente auch.
Aber warum denn die Tabelle? Lass sie halt einfach mal weg. Soll das Ganze eigentlich ein Menü werden? Dann zeichne es auch korrekt aus, nämlich als Liste. Dann sieht Deine Frage womöglich ganz anders aus, warum also Zeit auf Deinen Tabellenmurcks verschwenden, wenn man dazu gar keine Lösung braucht, weil das HTML schon falsch ist?
Liebe Grüße,
-Efchen