Auto-fit, Auto-fill & Subgrid: Responsieve Galerijen Beheersen
Leer hoe je dynamische galerijen bouwt die zich automatisch aanpassen aan elk schermformaat. We duiken diep in auto-fit, auto-fill en subgrid om layouts te creëren die echt flexibel zijn.
Waarom Auto-fit en Auto-fill zo Belangrijk Zijn
Het probleem met veel gallerijen? Ze breken op bepaalde schermgroottes. Je hebt dan geen controle â ofwel je items zijn te klein, ofwel ze vullen niet netjes. Auto-fit en auto-fill lossen dit op. Ze zorgen dat je grid automatisch aanpast.
We gebruiken deze technieken al jaren. Maar veel developers snappen het verschil niet goed. Of ze weten niet hoe subgrid eraan kan helpen. Vandaag gaat dat veranderen.
Auto-fill: Lege Sporen Toestaan
Auto-fill vult je grid met zoveel kolommen als passen. Maar hier’s het cruciale detail: het voegt lege sporen toe als er niet genoeg items zijn.
Stel je hebt 3 items in een gallerij die plaats biedt aan 4 kolommen. Auto-fill voegt een vierde (lege) kolom toe. Dit kan grappig uitzien. Je items blijven aan de linkerkant, rechts is veel leegte.
De CSS ziet er zo uit:
grid-template-columns: repeat(auto-fill, minmax(250px, 1fr));
Dit maakt kolommen van minimaal 250px. Ze groeien naar 1fr (gelijke ruimte). Je krijgt automatisch zoveel kolommen als passen.
Auto-fit: Kolommen Samenvoegen
Auto-fit doet iets slimmers. Het voegt geen lege kolommen toe. In plaats daarvan voegt het bestaande kolommen samen .
Dezelfde 3 items? Met auto-fit vullen ze de beschikbare ruimte. Ze groeien mee. Je hebt geen rij vol leegte.
De code:
grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
Het ziet er hetzelfde uit. Maar het gedrag is totaal anders. Auto-fit is meestal wat je wilt. Het zorgt voor een netter uiterlijk.
Dit is de basis. Nu wordt het interessanter met subgrid.
Subgrid: Geneste Grids Uitlijnen
Hier wordt het echt krachtig. Stel je hebt een grid met kaarten. Elke kaart heeft een titel, afbeelding, en beschrijving. Je wilt dat alle titels even hoog zijn. Alle afbeeldingen ook. Dit is waar subgrid helpt.
Subgrid laat je zeggen: “Deze geneste grid erft de kolommen van zijn ouder.” Niet alle kolommen. Alleen de ouder-kolommen.
Voorbeeld:
.card {
display: grid;
grid-template-columns: subgrid;
grid-column: span 1;
}
Dit werkt nu in alle moderne browsers. Chrome, Firefox, Safari â allemaal support. IE doet het niet, maar wie maakt zich daar nog druk om?
Praktisch Voorbeeld: Volledige Gallerij
Laten we het allemaal samenbrengen. Je hebt een blog met artikelen. Elk artikel is een kaart met thumbnail, titel, datum, en snippet.
De layout moet:
- Automatisch kolommen toevoegen/verwijderen bij resize
- Alle kaarten even hoog maken
- Datums netjes uitlijnen
- Werkend op telefoon tot desktop
Dit is waar auto-fit en subgrid samen glimmen. Je combineert ze. Auto-fit bepaalt hoeveel kolommen. Subgrid zorgt dat alles netjes is.
En het beste? De CSS is schoon en onderhoudsbaar. Je hebt geen media queries nodig voor verschillende schermgroottes.
Handige Tips en Trucs
Minmax Begrijpen
Minmax(250px, 1fr) betekent: kolom is minstens 250px, groeit maximaal 1 fractie. Dit is de sleutel tot responsive grids. Pas de 250px aan voor je content.
Gap is Je Vriend
Vergeet gap niet. Grid-gap: 1rem geeft ruimte tussen items. Dit helpt veel met het uiterlijk. Auto-fit + gap = professioneel.
Subgrid Voorzichtig
Subgrid erft rijen en kolommen van ouder. Dit kan soms onverwachts werken. Test op verschillende schermgroottes. Het is krachtig, maar vraagt voorzichtigheid.
Fallback voor Oude Browsers
Subgrid werkt niet overal. Schrijf fallback CSS. Gebruik @supports() queries. Modern browsers krijgen subgrid, oude browsers krijgen normale grid.
Alles Samen: Maak Betere Galerijen
Auto-fit en auto-fill zijn niet ingewikkeld als je het verschil kent. Auto-fill voegt lege kolommen toe. Auto-fit voegt ze samen. Meestal wil je auto-fit.
Subgrid is de volgende stap. Het zorgt dat geneste grids netjes uitgelijnde kolommen hebben. Geen more verschoven items. Alles staat perfect op rij.
Deze technieken samen geven je layouts die echt responsief zijn. Geen breakpoints nodig. Geen jarenlange media queries. Alleen schone, flexibele CSS.
Begin ermee. Experimenteer. Je zult snel voelen hoe krachtig dit is. En je klanten zullen merken dat hun sites netter eruitzien op alle apparaten.
Disclaimer
Deze handleiding is informatief bedoeld. Browser-ondersteuning en CSS-specificaties kunnen veranderen. Test altijd je code op de apparaten en browsers van je doelgroep. Oudere browsers hebben fallbacks nodig. Voor actuele browser-support, controleer Can I Use of de Mozilla Web Docs.