vllt ein paar tipps:
HTML:
<span class="submenu" id="sub2">
- <a href="#">Aufbau & Geschichte</a></br>
- <a href="#">Versionen</a></br>
</span>
so etwas solltest du in einen div-container packen. span solltest du nur für text verwenden, welchen du hervorheben, einfärben o.ä. willst. weiterhin kannst du für die navigation aufzählungen verwenden (welche deinen gedankenstrich am anfang automatisch einfügen können):
HTML:
.submenu {
margin-bottom: 0.5em;
color: #000;
list-style-type: none;
}
<ul id="sub2" class="submenu">
<li><a href="#">Aufbau & Geschichte</a></li>
<li><a href="#">Versionen</a></li>
</ul>
auf deinem weg alternativ:
HTML:
.submenu > a {
display: block;
}
<div id="sub2" class="submenu">
<a href="#">Aufbau & Geschichte</a>
<a href="#">Versionen</a>
</div>
dann sind die unterpunkte auch schön untereinander eingereiht in gleicher größe.
weiterhin, wenn du gerade am anfang mit dem lernen steht, dann würde ich so etwas wie javascript gänzlich sein lassen. nicht, weil ihr damit extra-punkte bekommen könntet, sondern einfach, weil ihr dadurch auch abzug bekommen könnt (zumal wenn ihr dies nicht selbst programmiert habt). außerdem das wichtigste: verstehst du was dort passiert? oder verlässt du dich nur darauf, dass etwas passiert, ganz egal was dort eigentlich passiert? wenn du es im nachhinein erklären sollst, dann stehst du nämlich dumm da.

zumal in dem script in fast jeder zeile das semikolon fehlt.
zu dem button problem:
du hast einen header für die gesamte navi gemacht, was imo sehr sehr schlecht ist und du dir schnell abgewöhnen solltest. sonst bekommst du bei großen projekten (wenn du mal welche machen willst) sehr schnell probleme und zwar nicht nur aus styling-gründen (falls du mit javascript arbeiten willst, kannst du hier schonmal getrost viele sachen vergessen).
aber trotzdem: du hast zwar eine klasse für die buttons, aber was passiert beim drüberfahren? dazu brauchst du pseudoklassen - im aktuellen fall :hover. hier musst du nun das bild einfügen, welches erscheinen soll, wenn du mit der maus drüber fährst. weiterhin hast du keine hintergrundfarbe angegeben, also nimmt der browser eine x-beliebige (bzw. die standardfarbe, wenn keine eingestellt wurde):
HTML:
.button1:hover {
background: transparent;
background-image: url(alpha_design/button1.png);
}
zu dem a:hover problem:
hier beziehst du
alle links ein. nicht nur die in der navigation, nicht nur die im header, sondern wirklich alle, komplett über die ganze seite verteilt. willst du dann hierbei wirklich bei jedem link ein hintergrundbild mit einbetten?
was eigentlich mit der navigation und den links passiert:
jedes mal, wenn du über einen link fährst, fügt der browser laut deiner definition das hintergrundbild "button4.png" ein. da du ebenso die hintergrundfarbe vergessen hast zu deklarieren, wird auf irgend eine farbe ausgewichen. deswegen entsteht u.a. diese farbe beim darüberfahren. weiterhin besitzen die buttons in der navigation keine aktion beim drüberfahren. da diese nun aus links bestehen (a-element), wird auf dein a:hover zurückgegriffen, wodurch hier nun überall "button4.png" angezeigt wird, obwohl du ja ein anderes sehen willst.
für eine projektarbeit, solltest du vllt auch die links zum w3c validator entfernen.
guter rat: fang wirklich ganz bei null an. ohne große layouts, grafiken oder sonstwas. sonst fällst du später irgendwann mal auf die schnauze, denn im prinzip kannst du es zwar, aber wenn du grobe fehler übersiehst bzw. diese so gelernt hast, ist es schwer sich dieser wieder abzugewöhnen oder gänzlich umzudenken.
und zu guter letzt: wenn du wirklich kaum etwas kannst, mal dir das layout erstmal mit bleistift auf ein blatt papier und versuche dieses nachzubauen und zwar so, dass wenn du inhalt einfügst, dieses auch bestehen bleibt und nicht verrutscht oder verzieht.
weniger ist manchmal mehr.
