@ JR:
Ich habe nicht gesagt, dass ich das für falsch halte. Ganz im Gegenteil: Ich bin begeistert, dass das so einfach funktioniert. Nur wollte ich wissen, wieso das ohne Deklaration von ul und li funktioniert.
Das habe ich auch nicht so verstanden. Wollte es nur sicherheitshalber erwähnen.
Es funktioniert ohne ul und li, weil es eben keine Regel gibt, die besagt, dass eine Nav immer mit einer ul ausgezeichnet werden muss. Du könntest genauso gut einen p-Tag statt dem Div nutzen und dort die Links reinpacken oder so. Das wäre dann zwar alles andere als valides bzw. sauberes HTML, aber es würde theoretisch gehen.
HTML-Elemente haben eigentlich so gut wie gar nichts mit der Darstellung am Hut. Das passiert alles über CSS. Daher gibt es halt auch tausende Möglichkeiten, etwas mit HTML umzusetzen, da man mit CSS das Verhalten der Elemente in den meisten Fällen relativ einfach verändern kann und schon sieht deine Navigation bei unterschiedlichem HTML letztendlich trotzdem genau gleich aus.
HTML ist nur dafür da, damit z.B. Google weiß, was es da vor sich hat. Ein Artikel, ein Bild, eine Überschrift usw..