HTML en CSS leren: Een menu
Een menu voor meerdere pagina's
Eén lange pagina is niet genoeg meer. Hilde wil een pagina voor de honden, een voor de katten en een over adopteren, en een menu bovenaan zodat niemand verdwaalt.
Een site is een map met pagina's
Elke pagina is een eigen HTML-bestand. index.html is de startpagina: die opent als je naar het adres van de site gaat. Daarnaast komen honden.html, katten.html en adopteren.html.
Het menu is een lijst met links in een <nav>. Een lijst, omdat het een reeks gelijke dingen is: een voorleesprogramma zegt meteen hoeveel keuzes er zijn.
Het menu staat op elke pagina, zodat je vanaf elke pagina overal komt. Dat de punten hier naast elkaar staan, zonder bolletjes, komt van de CSS van het asiel. Hoe dat werkt, leer je in de module over flexbox.
<header> <h1>Het Warme Mandje</h1> <nav> <ul> <li><a href="index.html">Home</a></li> <li><a href="honden.html">Honden</a></li> <li><a href="katten.html">Katten</a></li> <li><a href="adopteren.html">Adopteren</a></li> </ul> </nav></header><main> <h2>Welkom</h2> <p>Elk dier verdient een warm mandje.</p></main>Mappen en paden
Een grote site zet pagina's in mappen, zoals een map dieren met een pagina per dier. Een relatief pad vertrekt altijd vanuit de map van de pagina waar je bent.
katten.html staat in dezelfde map. dieren/minou.html gaat een map dieper, de map dieren in. En ../index.html gaat een map hoger: .. betekent "de map erboven".
Dit is de pagina dieren/minou.html. Een link naar index.html brengt je hier niet naar de startpagina: de browser zoekt dan dieren/index.html.
<main> <h1>Minou</h1> <p>Speelse kat van 2 jaar, dol op kartonnen dozen.</p> <p><a href="../katten.html">Alle katten</a> · <a href="../index.html">Terug naar home</a></p></main>Probeer het zelf
Zet onder de naam een menu met vier links: Home naar index.html, Honden naar honden.html, Katten naar katten.html en Adopteren naar adopteren.html.
<header> <h1>Het Warme Mandje</h1></header>body { margin: 0; font-family: system-ui, sans-serif; background: #fffaf3; color: #3d2b1f;}header { padding: 20px 16px 14px; background: #f6c88f;}header h1 { margin: 4px 0 0;}.slogan { margin: 4px 0 10px;}nav ul { display: flex; flex-wrap: wrap; gap: 4px 18px; margin: 0; padding: 0; list-style: none;}nav a { color: #7a3e12; font-weight: bold;}main { padding: 8px 16px 24px;}table { border-collapse: collapse;}th,td { padding: 6px 12px; border: 1px solid #e3c9a8; text-align: left;}th { background: #fbe3c4;}.kaart { margin: 12px 0; padding: 12px 16px; border-radius: 16px; background: #ffffff;}.kaart h3 { margin: 4px 0;}.kader { padding: 4px 16px; border-radius: 16px; background: #fde9d4;}.ras { color: #b5541c;}.dicht { color: #b42318; font-weight: bold;}footer { padding: 12px 16px; background: #f6c88f;}Klaar voor meer?
De volledige les heeft 5 oefeningen, van makkelijk naar uitdagend, met hints, punten en een reeks die je kan opbouwen.
Begin aan de les