CSS Academy · Les

Layout met sticky footer en sidebar

Bouw layouts met sticky footers en sidebars die met Grid of Flexbox de volledige hoogte vullen.

Les 1 van 413 stappen

Layout met sticky footer en sidebar is een gratis CSS Academy-les op CoddyKit. Dit is les 1 van 4. Je kunt de volledige les hieronder gratis lezen en daarna in de browser praktisch oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is. Deze les maakt deel uit van het leertraject CSS Academy. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus CSS Academy bevat in totaal 4 lessen.

Probleem met vastgezette voettekst

Een vastgezette voettekst blijft onderaan het weergavegebied staan wanneer de inhoud kort is, maar schuift omlaag met de inhoud wanneer die lang is. De historische uitdaging: de voettekst laten vaststaan zonder de hoogte van de inhoud te kennen of JavaScript te gebruiken.

Vastgezette voettekst met Flexbox

De eenvoudigste moderne oplossing: body { display: flex; flex-direction: column; min-height: 100vh; } en main { flex: 1; }. De hoofdinhoud groeit om de beschikbare ruimte te vullen en duwt de voettekst naar onderen, ongeacht de lengte van de inhoud.

Vastgezette voettekst met Grid

Alternatief met CSS Grid: body { display: grid; grid-template-rows: auto 1fr auto; min-height: 100vh; }. header krijgt automatische hoogte, main krijgt 1fr (vult de resterende ruimte) en footer krijgt automatische hoogte. Helder en expliciet — de rijtemplate laat duidelijk zien wat de bedoeling van de indeling is.

Voettekst met position: sticky

position: sticky; bottom: 0 op de voettekst houdt die tijdens het scrollen aan de onderkant van het weergavegebied vast, maar alleen wanneer de scrollcontext dat toestaat. Dit werkt voor voetteksten in een scrollende container — minder geschikt voor vastgezette voetteksten op paginaniveau, waarvoor flexbox/grid netter is.

Zijbalkindeling met Flexbox

Een indeling met een zijbalk en hoofdinhoud: wrapper { display: flex; }, sidebar { width: 280px; flex-shrink: 0; }, main { flex: 1; min-width: 0; }. De min-width: 0 op main voorkomt dat flexitems buiten hun container vallen wanneer ze brede inhoud bevatten.

Zijbalkindeling met Grid

Indeling met Grid en een zijbalk: wrapper { display: grid; grid-template-columns: 280px 1fr; gap: var(--spacing-4); }. De kolom van de zijbalk heeft een vaste breedte; de inhoudskolom vult de resterende ruimte. Voeg een koptekstrij toe: grid-template-rows: auto 1fr waarbij de zijbalk beide rijen beslaat.

Responsieve zijbalk

Op mobiele apparaten laat je de zijbalk boven of onder de hoofdinhoud inklappen: gebruik een mediaquery om van een indeling met rasterkolommen over te schakelen naar een stapel met één kolom. Of gebruik grid-template-columns: min(280px, 30%) 1fr voor een vloeiende zijbalk die op kleinere weergavegebieden smaller wordt.

Vastgezette zijbalk

Laat een zijbalk onafhankelijk scrollen: sidebar { position: sticky; top: 0; height: 100vh; overflow-y: auto; }. De zijbalk blijft in beeld terwijl de hoofdinhoud scrollt, ideaal voor navigatie of inhoudsopgavezijbalken op pagina's met lange inhoud.

Inklapbare zijbalk

Een inklapbare zijbalk wisselt tussen een toestand over de volledige breedte en een toestand met alleen pictogrammen. Gebruik een aangepaste CSS-eigenschap voor de breedte van de zijbalk: --sidebar-width: 280px op de omhulling, en wissel via een klasse naar 64px. Overgangen animeren de breedtewijziging vloeiend.

Overloop in vastgezette zijbalken

Een vast gepositioneerde zijbalk (position: fixed; left: 0; top: 0; height: 100vh) vereist dat je de hoofdinhoud compenseert met de breedte van de zijbalk: main { margin-left: 280px }. Op mobiele apparaten schuift de zijbalk over de inhoud heen met een sluitknop en een achtergrondlaag.

Toegankelijkheid van zijbalken

Markeer navigatiezijbalken met <nav> en aria-label="Sidebar navigation". Inklapbare zijbalken hebben een toegankelijke schakelknop nodig met aria-expanded en aria-controls. Overslaankoppelingen helpen toetsenbordgebruikers zijbalken over te slaan en de hoofdinhoud te bereiken.

Kennistoets

Waarom moet min-width: 0 worden ingesteld op het flexitem met de hoofdinhoud in een zijbalkindeling?

Samenvatting

Flexbox met flex: 1 op main of een raster met drie rijen zorgt met minimale CSS voor nette vastgezette voetteksten. Zijbalkindelingen gebruiken vaste of vloeiende kolomdefinities met responsieve breekpunten om op mobiele apparaten in te klappen. Vastgezette zijbalken, inklapbare breedten en toegankelijke ARIA-attributen maken productieklare patronen voor zijbalken en voetteksten compleet.

Gratis beginnen

Leer CSS met een AI-tutor — gratis

Schrijf echte code en voer die uit in je browser, krijg direct hulp van een AI-tutor die 24/7 beschikbaar is en ga verder waar je gebleven bent op het web of in de app.

Cursussen
40
Lessen
159

Veelgestelde vragen

Is de les “Layout met sticky footer en sidebar” gratis?

Ja — de volledige tekst van “Layout met sticky footer en sidebar” kun je hier gratis op het web lezen. Als je interactief wilt oefenen met een ingebouwde code-editor en een AI-begeleider die 24/7 beschikbaar is, en de rest van de cursus CSS Academy wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus CSS Academy bevat in totaal 4 lessen.

Wat leer ik in “Layout met sticky footer en sidebar”?

Bouw layouts met sticky footers en sidebars die met Grid of Flexbox de volledige hoogte vullen. Je oefent met CSS Academy door code rechtstreeks in de browser uit te voeren. Een AI-begeleider die 24/7 beschikbaar is beantwoordt je vragen terwijl je de les doorwerkt.

Heb ik ervaring nodig om met CSS Academy te beginnen?

Ervaring vooraf is niet nodig. CSS Academy op CoddyKit is opgebouwd voor beginners tot gevorderden, zodat je hier of bij het begin kunt starten en in je eigen tempo kunt leren. Dit is les 1 van 4.

Hoe lang duurt de les “Layout met sticky footer en sidebar”?

De meeste lessen van CoddyKit duren ongeveer 5–10 minuten. Elke les is kort en interactief, zodat je gestaag vooruitgaat en op het web en in de app precies verdergaat waar je was gebleven.

Kan ik code schrijven en uitvoeren in deze les over CSS Academy?

Ja. Elke les over CSS Academy bevat een ingebouwde code-editor, zodat je rechtstreeks in je browser echte code kunt schrijven en uitvoeren en direct feedback van AI krijgt — lokale installatie is niet nodig.

Alle lessen in deze cursus

  1. Layout met sticky footer en sidebar
  2. Holy Grail-layout met Grid
  3. Masonry-layout: CSS- en JS-aanpakken
  4. Intrinsiek ontwerp: contentgestuurde afmetingen
← Terug naar CSS Academy