HTML en CSS leren: Media queries en breekpunten
Media queries
Op de gsm van Walter staan de tafels nu netjes onder elkaar. Op de grote laptop van zijn kleindochter mogen ze naast elkaar. Met een media query geef je elk scherm wat het nodig heeft.
Regels voor een breder scherm
Een media query is een blok CSS dat alleen geldt als de voorwaarde klopt. @media (min-width: 600px) { … } geldt vanaf 600px breed en breder. Zo'n grens heet een breekpunt.
Mobiel eerst schrijf je de regels voor de gsm gewoon, en zet je wat een breder scherm extra krijgt in een media query met min-width. Een regel in de media query overschrijft de gewone, omdat hij later komt.
Verander de breedte onder de pagina: voorbij 600px licht de media query op en springen de tafels naar twee kolommen.
.tafels { grid-template-columns: 1fr;}@media (min-width: 600px) { .tafels { grid-template-columns: repeat(2, 1fr); }}Probeer het zelf
Op een gsm staan de tafels onder elkaar. Vanaf 600px breed staan er twee naast elkaar, en vanaf 900px vier.
/* Jouw CSS komt hier. */<!DOCTYPE html><html lang="nl"><head> <title>Kapot? Mag Niet!</title> <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> <nav> <a href="index.html">Home</a> <a href="tafels.html">Tafels</a> <a href="agenda.html">Agenda</a> <a href="aanmelden.html">Aanmelden</a> </nav> </header> <main> <p class="slogan">Elke eerste zaterdag van de maand in het parochiehuis van Dendermonde. Breng je kapotte spullen mee: we herstellen ze samen.</p> <a class="knop" href="aanmelden.html">Meld je toestel aan</a> <section class="tafels"> <article class="tafel fiets"> <span class="etiket">Vol</span> <h2>Fietsen</h2> <p>Een lekke band of een slappe rem? Jef en Marc helpen je.</p> </article> <article class="tafel elektro"> <h2>Elektro</h2> <p>Lampen, broodroosters en koffiezetapparaten.</p> </article> <article class="tafel naai"> <span class="etiket">Nieuw</span> <h2>Naaiatelier</h2> <p>Een losse naad of een kapotte rits.</p> </article> <article class="tafel computer"> <h2>Computers</h2> <p>Een trage laptop of een gebarsten scherm.</p> </article> </section> </main> <footer> <p>Parochiehuis, Kerkstraat 12, 9200 Dendermonde</p> </footer></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 5 oefeningen, van makkelijk naar uitdagend, met hints, punten en een reeks die je kan opbouwen.
Begin aan de les