HTML en CSS leren: De viewport-meta en mobiel eerst
Mobiel eerst
Walter opent de website op zijn gsm: alles is piepklein, alsof hij een krant leest van op een meter afstand. Eén regel HTML lost dat op, en een andere manier van denken doet de rest.
De viewport
Een gsm doet zonder hulp alsof hij een computerscherm van zo'n 980px breed is, en verkleint dan alles. De regel <meta name="viewport" content="width=device-width, initial-scale=1"> in de <head> zegt: gebruik de echte breedte van het toestel, zonder in te zoomen. Elke site die op een gsm moet werken, heeft hem.
Mobiel eerst wil zeggen: je schrijft eerst de CSS voor een smal scherm, en voegt daarna toe wat een breed scherm extra krijgt. Het smalle scherm is de basis, het brede de uitzondering. Hoe je die uitzondering schrijft, leer je in les 4.
Hier zie je de pagina zoals een gsm van 375px breed ze toont, met de viewport-regel in de <head>.
<!DOCTYPE html><html lang="nl"><head> <title>Kapot? Mag Niet!</title> <meta name="viewport" content="width=device-width, initial-scale=1"> <link rel="stylesheet" href="basis.css"> <link rel="stylesheet" href="style.css"></head><body> <header> <img src="sleutel.svg" alt="" width="40" height="40"> <h1>Kapot? Mag Niet!</h1> </header> <main> <p class="slogan">Breng je kapotte spullen mee: we herstellen ze samen.</p> <a class="knop" href="aanmelden.html">Meld je toestel aan</a> </main></body></html>Probeer het zelf
Zet de viewport-regel in de <head> van de pagina.
<!DOCTYPE html><html lang="nl"><head> <title>Kapot? Mag Niet!</title> <link rel="stylesheet" href="style.css"></head><body> <header> <h1>Kapot? Mag Niet!</h1> </header> <main> <p class="slogan">Breng je kapotte spullen mee: we herstellen ze samen.</p> </main></body></html>body { margin: 0; font-family: system-ui, sans-serif; background: #f4f0e8; color: #2a2622;}header { padding: 12px 16px; background: #1f4e5f; color: #ffffff;}header h1 { margin: 0; font-size: 1.5rem;}nav a { padding: 6px 10px; border-radius: 999px; color: #ffffff; text-decoration: none;}main { padding: 0 16px 24px;}.slogan { margin: 16px 0 0; max-width: 40rem;}.tafels { display: grid; grid-template-columns: repeat(auto-fit, minmax(200px, 1fr)); gap: 12px; margin: 16px 0;}.knop { display: inline-block; margin-top: 12px; padding: 10px 18px; border-radius: 999px; background: #d1495b; color: #ffffff; font-weight: 700; text-decoration: none;}/* Een gekleurde rand per tafel en een etiket met een gaatje: alleen voor de sier. */.tafel { padding: 14px 16px 16px; border-top: 4px solid #f2a541; border-radius: 14px; background: #ffffff; box-shadow: 0 1px 2px rgb(42 38 34 / 0.08), 0 8px 18px -12px rgb(42 38 34 / 0.35);}.tafel h2 { margin: 0 0 6px; font-size: 1.1rem;}.tafel p { margin: 0; color: #5b544c;}.fiets { border-top-color: #2a9d8f;}.elektro { border-top-color: #f2a541;}.naai { border-top-color: #d1495b;}.computer { border-top-color: #5b6cae;}.etiket { display: inline-block; margin-bottom: 8px; padding: 3px 10px 3px 16px; border-radius: 4px 999px 999px 4px; background: radial-gradient(circle at 7px 50%, #ffffff 0 2.5px, transparent 3px), #ffd166; color: #3d2c00; font-size: 0.75rem; font-weight: 700;}form { display: grid; gap: 6px; max-width: 28rem; margin: 16px 0;}label { margin-top: 8px; font-weight: 600;}input,select,textarea { padding: 8px 10px; border: 1px solid #b9b0a3; border-radius: 8px; background: #ffffff; color: #2a2622; font: inherit;}button { justify-self: start; margin-top: 12px; padding: 10px 18px; border: 0; border-radius: 999px; background: #1f4e5f; color: #ffffff; font: inherit; font-weight: 700;}footer { padding: 12px 16px; background: #1f4e5f; color: #ffffff;}Klaar voor meer?
De volledige les heeft 4 oefeningen, van makkelijk naar uitdagend, met hints, punten en een reeks die je kan opbouwen.
Begin aan de les