Flexbox en grid, eindelijk begrijpen
justify-content of align-items? 1fr of 33%? Flexbox en grid zijn de krachtigste stukken CSS, en de stukken waarover mensen het vaakst twijfelen.
In Lurndo zie je wat elke eigenschap doet. Je zet foodtrucks op hun standplaats en tenten op hun plek op de camping, en de items schuiven mee terwijl je typt.
Waarom Lurndo bij jou past
Je ziet de assen
De inspector tekent de hoofdas en de dwarsas van flexbox, en de genummerde lijnen en vlakken van grid. Zo zie je waarom een item ergens terechtkomt.
Puzzels die oplopen
Elke doelplaats staat als stippellijn met een nummer in de pagina. Je zet de items op hun plaats met een paar regels op de container.
Geen omweg met vaste maten
Een item met een vaste
marginop zijn plaats duwen lukt niet. De controle probeert je code ook met een item meer of een andere volgorde.Van puzzel tot echte pagina
Je eindigt met een menubalk, kaarten op een rij en een volledige paginalayout die op elk scherm past.
Je eerste flexbox
Zet de foodtrucks op het plein naast elkaar, verdeeld over de hele breedte: de eerste links, de laatste rechts.
/* Jouw CSS komt hier. */<!DOCTYPE html><html lang="nl"><head> <title>Wielen & Smullen</title> <link rel="stylesheet" href="basis.css"> <link rel="stylesheet" href="style.css"></head><body> <header> <img src="truck.svg" alt="" width="40" height="40"> <h1>Wielen & Smullen</h1> <nav> <a href="index.html">Home</a> <a href="trucks.html">Trucks</a> <a href="plan.html">Plan</a> <a href="tickets.html">Tickets</a> </nav> </header> <main> <p class="slogan">Foodtruckfestival op de Grote Markt van Tienen, 14 en 15 juni.</p> <section class="plein"> <div class="truck friet">Friet</div> <div class="truck taco">Taco's</div> <div class="truck ijs">IJs</div> <div class="truck pizza">Pizza</div> </section> <section class="kaarten"> <article class="kaart"> <h2>Zaterdag</h2> <p>Van 11 tot 23 uur, met livemuziek vanaf 20 uur.</p> </article> <article class="kaart"> <h2>Zondag</h2> <p>Van 11 tot 20 uur, met een kinderhoek.</p> </article> <article class="kaart"> <h2>Toegang</h2> <p>Gratis. Je betaalt per hapje.</p> </article> </section> </main> <footer> <p>Grote Markt, 3300 Tienen</p> </footer></body></html>body { margin: 0; font-family: system-ui, sans-serif; background: #fff8ec; color: #2b2118;}header { padding: 12px 16px; background: #264653; 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;}.plein { margin: 16px 0; padding: 12px; border-radius: 18px; background-color: #efe6d4; background-image: radial-gradient(rgb(110 90 60 / 0.16) 1px, transparent 1.5px); background-size: 14px 14px; box-shadow: inset 0 0 0 1px rgb(110 90 60 / 0.14);}.plein.hoog { height: 200px;}.plein.smal { max-width: 250px;}/* Een luifel met strepen en twee wielen: alleen voor de sier. */.truck { position: relative; margin-bottom: 6px; padding: 16px 14px 12px; border-radius: 10px 10px 8px 8px; background-color: #e76f51; background-image: repeating-linear-gradient(90deg, rgb(255 255 255 / 0.85) 0 7px, transparent 7px 14px); background-size: 100% 7px; background-repeat: no-repeat; box-shadow: 0 1px 1px rgb(43 33 24 / 0.12), 0 6px 12px -6px rgb(43 33 24 / 0.35); color: #ffffff; font-weight: 700;}.truck::before,.truck::after { content: ""; position: absolute; bottom: -5px; width: 10px; height: 10px; border-radius: 50%; background: #d9cfbb; box-shadow: inset 0 0 0 3px #2b2118;}.truck::before { left: 9px;}.truck::after { right: 9px;}.friet { background-color: #e9c46a; color: #3a2a00;}.taco { background-color: #e76f51;}.pizza { background-color: #2a9d8f;}.wafel { background-color: #9c6644;}.ijs { padding-top: 30px; padding-bottom: 26px; background-color: #f4a6c6; color: #4a1030;}.curry { background-color: #f4a261; color: #3a1f00;}.burger { background-color: #6d597a;}.soep { background-color: #588157;}.kaart { padding: 4px 16px; border-radius: 12px; background: #ffffff; box-shadow: 0 1px 2px rgb(43 33 24 / 0.08);}.kaart h2 { font-size: 1.15rem;}footer { padding: 12px 16px; background: #264653; color: #ffffff;}Zo oefen je
Module 6 gaat over flexbox, module 7 over grid, elk in negen lessen. Ken je de basis van CSS nog niet, begin dan bij de eerste modules.
- 6FlexboxJe zesde klant: foodtruckfestival Wielen & Smullen in Tienen. Je zet de trucks op hun standplaats met flexbox: naast of onder elkaar, verdeeld over het plein, uitgelijnd op de dwarsas, over meerdere rijen en even breed. Tot slot bouw je een menubalk en kaarten op een rij.
- 7GridJe zevende klant: camping De Luie Hangmat in Bree. Je legt het terrein in kolommen en rijen met grid: plaatsen op een vast raster, kolommen die het terrein vullen, een chalet over twee plaatsen, vlakken met een naam en een terrein dat zelf kiest hoeveel kolommen er passen. Tot slot bouw je de volledige startpagina.
Vastgelopen? Vraag het Lurnie
Lurnie is je AI-coach in elke les. Stel je vraag tijdens of na een oefening en krijg meteen uitleg op jouw niveau.
- Tijdens of na elke oefeningLurnie weet welke les en oefening je doet. Vraag waarom iets werkt, wat een fout betekent of hoe het ook anders kan.
- Eigen voorbeelden, nooit de oplossingLurnie legt uit met een voorbeeld op andere data en helpt je verder met een denkvraag. Zo vind je de oplossing zelf, en dat onthoud je.
- Je gesprekken blijven bewaardLees later terug wat Lurnie uitlegde. Je gesprekken staan per cursus bij je account.
Lurnie hoort bij premium, met 30 vragen per dag.Bekijk premium
Waarom wordt mijn link niet rood? Mijn regel staat er toch?
Waarschijnlijk wint een andere regel. Kiezen twee regels hetzelfde element, dan wint de specifiekste: nav a gaat voor op a, ook als a lager in je bestand staat. Pas bij een gelijke stand wint de laatste.
Zoek dus een selector die je link preciezer aanwijst dan de jouwe. Welke vind je?
Nog 29 van 30 vragen vandaagLurnie kan zich vergissen.
Veelgestelde vragen
Wat is het verschil tussen flexbox en grid?
Flexbox zet items op één lijn, zoals een menubalk of kaarten op een rij. Grid verdeelt een vlak in rijen en kolommen tegelijk, zoals een fotogalerij of een volledige pagina. Module 7 heeft een les over wanneer je welke kiest.
Moet ik eerst de rest van CSS kennen?
Je moet weten hoe een CSS-regel eruitziet en wat een class is. Dat leer je in module 2, die gratis is.
Zijn de flexbox- en gridmodules gratis?
Modules 1 tot 3 zijn gratis. Flexbox en grid horen bij premium, samen met de puzzels en de dagelijkse uitdagingen van die modules.
Werkt het ook op een gsm?
Ja. Elke puzzel wordt gecontroleerd op een gsm en op een groot scherm, en je kan op beide oefenen.
Zet de eerste truck op zijn plaats
Je eerste flexbox staat binnen een minuut. Geen account, geen installatie.
Begin gratis met de eerste les