divmagic Make design
SimpleNowLiveFunMatterSimple
Hoe Meer CSS Leveren de Prestaties Daadwerkelijk Kan Verbeteren: De GitHub Engineering-aanpak
Blogs›CSS›Hoe Meer CSS Leveren de Prestaties Daadwerkelijk Kan Verbeteren: De GitHub Engineering-aanpak
CSS

Hoe Meer CSS Leveren de Prestaties Daadwerkelijk Kan Verbeteren: De GitHub Engineering-aanpak

DivMagic
DivMagic TeamOctober 9, 2026
7 min read

Hoe Meer CSS Verzenden Daadwerkelijk Prestaties Kan Verbeteren: De GitHub Engineering Aanpak

Als het om frontend-prestaties gaat, is het mantra altijd geweest: lever minder CSS. Stylesheets blokkeren de rendering; elke kilobyte vertraagt de eerste weergave. Toch deed het GitHub-engineeringteam iets dat bijna ketters klinkt: ze leverden meer CSS en maakten hun site sneller. In deze diepgaande analyse verkennen we de contra-intuïtieve strategie achter dit succes, hoe ze gebruikmaakten van moderne HTTP-mogelijkheden, en wat dit betekent voor jouw eigen optimalisatietraject.

De CSS-prestatieparadox

CSS is zowel een zegen als een bottleneck. Het brengt ontwerp tot leven, maar blokkeert ook de rendering totdat het volledig is geparseerd. Jarenlang was de beste praktijk om kritieke CSS inline te plaatsen, de minimale stijlen die nodig zijn voor content boven de vouw, rechtstreeks in de HTML, en de rest uit te stellen. Dit verminderde het aantal render-blokkerende verzoeken en gaf gebruikers een snellere visuele ervaring.

Kritieke CSS-technieken kunnen de First Contentful Paint (FCP) tot 50% verbeteren, maar ze laten vaak een enorm deel aan uitgestelde CSS achter dat uiteindelijk toch geladen moet worden, wat layoutverschuivingen en tragere interactiviteit veroorzaakt.

De ontwikkelaars van GitHub merkten dat het inline plaatsen van kritieke CSS wel hielp bij FCP, maar geen oplossing bood voor een groeiend probleem: de enorme hoeveelheid CSS die hun complexe applicatie nodig had, bleef maar toenemen. Hun designsysteem, functierijke interface en responsieve layouts betekenden dat ze de stijlen niet zomaar konden inkrimpen; ze hadden een slimmere leveringsmethode nodig.

Hoe GitHub de vergelijking omdraaide

Het inzicht van het team was radicaal: in plaats van te vechten tegen de groei van CSS, omarmden ze het, maar leverden ze het op een manier die het kritieke renderingpad snel hield. Hun aanpak, gedetailleerd in de originele GitHub-blogpost, steunde op twee pijlers:

work, programming, laptop, working, coding, computer, programmer, technology, office, business, hacker, data, macbook, developer, workspace, workplace, programmer, programmer, programmer, programmer, programmer

  1. CSS opsplitsen in meerdere, doelgerichte bestanden die onafhankelijk konden worden geladen.
  2. Gebruikmaken van HTTP/2-multiplexing om die bestanden gelijktijdig te serveren zonder kop-staartblokkering.

In tegenstelling tot de uitersten van "één groot bundelbestand" of "alles inline plaatsen", leverde GitHub meer totale CSS, soms wel 2× zoveel, maar splitste het in kleinere, niet-blokkerende brokken. Het resultaat: verbeterde waargenomen en daadwerkelijke prestaties.

“We leverden daadwerkelijk meer CSS dan voorheen, maar we maakten het niet-blokkerend. De browser downloadt meerdere bestanden parallel, waardoor het kritieke pad slank blijft.” – GitHub Engineering

De technische uitsplitsing

Dit is precies wat er onder de motorkap gebeurde:

  • Ze verdeelden hun CSS in drie categorieën: kritiek (inline), kern (asynchroon geladen met hoge prioriteit), en lazy (op aanvraag geladen voor niet-kritieke pagina's of interacties).
  • Kern-stylesheets werden gemarkeerd met media="print" onload="this.media='all'" om ervoor te zorgen dat ze de rendering niet blokkeerden, maar wel meteen werden toegepast zodra ze waren gedownload.
  • HTTP/2 maakte het mogelijk om al deze bestanden via één enkele verbinding te streamen, waardoor de wachtrijstraf van HTTP/1.1 werd geëlimineerd.

De belangrijkste conclusie: de totale CSS-omvang nam toe, maar omdat de browser niet hoefde te wachten op één enkel monolitisch bestand, zag de gebruiker eerder content en kon hij sneller interacteren.

Gebruik het Coverage-paneel in DevTools om ongebruikte CSS te identificeren voordat je gaat splitsen. Splits alleen wat echt asynchroon moet zijn; overmatig splitsen kan averechts werken.

Prestatiewinsten in de echte wereld

GitHub’s eigen gegevens toonden een vermindering van 30% in First Contentful Paint en een verbetering van 40% in Largest Contentful Paint op belangrijke pagina's. Naast labstatistieken ervoeren echte gebruikers een merkbaar sneller gevoel, en ook de conversieratio’s op basis van statistieken verbeterden.

Bar chart comparing First Paint time before (2.4s) and after (1.2s) implementing GitHub's CSS strategy.

De resultaten zijn geen anomalie; ze zijn een direct gevolg van het begrijpen van hoe moderne browsers en netwerken werken. Wanneer je CSS niet langer als een monolitisch blok behandelt, maar als een verzameling onafhankelijke assets, ontgrendel je parallellisme dat alle bezoekers ten goede komt.

Line chart showing average CSS file size growth from 2015 to 2023.

Waarom dit belangrijk is voor jouw project

Het web is veranderd. HTTP/2 en HTTP/3 zijn nu de norm, browsercaches zijn geavanceerder en apparaatmogelijkheden variëren sterk. Het oude paradigma van “één bundel die over alles heerst” gaat niet langer op. Door op intelligente wijze meer CSS te verzenden, kun je:

code, coding, programming, html, typing, work, business, hands, laptop, computer, technology, office, gray business, gray computer, gray office, gray technology, gray laptop, gray work, gray company, gray code, gray coding, gray programming, coding, coding, programming, programming, html, html, html, html, html

  • De render-blokkerende tijd verminderen terwijl je toch een rijke visuele ervaring levert.
  • De cachegranulariteit verbeteren; het wijzigen van een knopstijl mag niet het hele stylesheet ongeldig maken.
  • Code splitting en lazy loading van CSS mogelijk maken voor componenten die later verschijnen.

De strategie implementeren

Klaar om het zelf te proberen? Volg deze stappen:

  1. Audit je huidige CSS, gebruik tools zoals Lighthuse of Webpack Bundle Analyzer om te zien wat echt kritiek is.
  2. Plaats alleen het absolute minimum inline voor content boven de vouw (meestal 10–15 KB).
  3. Splits de rest in kern- en lazy-categorieën op basis van componentgebruik en paginaprioriteit.
  4. Lever kern-CSS met rel="preload" of de mediatruc voor niet-blokkerend laden.
  5. Schakel HTTP/2 in op je server en test met throttling in de praktijk.

GitHub ontdekte dat zelfs een kleine toename van totale CSS acceptabel was mits goed opgesplitst – de parallelle download maskeerde de extra bytes, en de verbeterde caching maakte dat ruimschoots goed.

De rol van caching en CDN's

Een ander over het hoofd gezien voordeel: gesplitste bestanden verschillen in levensduur. Je globale reset of design-system-tokens veranderen zelden en kunnen maandenlang worden gecachet. Vers opgesplitste CSS voor een specifieke functie kan onafhankelijk worden geversioneerd. Dit betekent dat terugkerende bezoekers bij volgende bezoeken bijna geen CSS laden, terwijl eerste bezoekers nog steeds een niet-blokkerende ervaring krijgen. In combinatie met een CDN wordt deze strategie nog krachtiger.

De brug slaan naar UI-ontwikkeling

Als ontwikkelaar kan het bouwen van deze fijn afgestemde CSS-strategieën overweldigend aanvoelen, vooral wanneer je een verbluffend ontwerp van een snelle, verzorgde website probeert na te bootsen. Dat is waar DivMagic grijpt in. Met DivMagic kun je elke UI van elke website met één klik kopiëren, waarbij de exacte CSS- en HTML-structuur wordt vastgelegd die ervoor zorgt dat dat onderdeel goed presteert en er geweldig uitziet. In plaats van stijlen vanaf nul te ontwerpen, kun je bestuderen hoe goed presterende sites hun CSS opsplitsen en vervolgens hun patronen aanpassen aan jouw project. Het is een enorme tijdsbesparing wanneer je snelle, productieklare startpunten nodig hebt.

javascript, programmer, code, technology, coding, css, javascript, javascript, javascript, javascript, javascript

“divMagic kloont niet alleen de visuele aspecten; het behoudt de CSS-organisatie die je inzicht kan geven in prestatiebewuste beslissingen.”

Zal meer CSS altijd helpen? Weten wanneer te stoppen

Het succes van GitHub betekent niet dat je je stylesheets blindelings moet opblazen. De strategie werkt wanneer je een echte behoefte hebt aan complexe styling, een rijke applicatie, een designsysteem, meerdere thema's. Voor eenvoudige brochuresites is minder CSS nog steeds meer. Meet altijd je eigen Core Web Vitals en vergelijk voor- en na-resultaten. Het coverage-paneel en veldgegevens (CrUX) moeten je beslissingen sturen.

Een mogelijke valkuil is de initiële downloadburst. Bij te veel kleine bestanden kunnen de concurrency-limieten van de browser in werking treden, wat leidt tot tragere laadtijden op HTTP/1.1-verbindingen. Zorg ervoor dat je hosting HTTP/2 of HTTP/3 ondersteunt en gebruik preload hints verstandig.

Vooruitblik: de toekomst van CSS-levering

De aanpak van GitHub wijst op waar de industrie naartoe gaat: CSS-laden op componentniveau dat direct verband houdt met JavaScript-code-splitting. Frameworks zoals React, Vue en Svelte ondersteunen steeds meer per-component stijlen; gecombineerd met slimme bundelaars kunnen we alleen de CSS leveren die een gebruiker nodig heeft voor de huidige weergave, en meer laden terwijl ze navigeren. Het gaat niet om het leveren van minder totale CSS; het gaat om het leveren van de juiste CSS op het juiste moment.

Pie chart showing breakdown of render‑blocking resources, dominated by CSS at 70%.

Conclusie

Meer CSS leveren kan inderdaad de prestaties verbeteren wanneer je je losmaakt van monolithisch denken. Het engineeringteam van GitHub bewees dat door stijlen op te splitsen in niet-blokkerende chunks en HTTP/2 het zware werk te laten doen, je zowel de werkelijke als de waargenomen snelheid kunt verbeteren. Terwijl het web blijft evolueren, worden de oude regels herschreven. Omarm de paradox, meet onophoudelijk en wees niet bang om meer te leveren, lever gewoon slimmer.

Begin vandaag nog met bouwen met DivMagic

Sluit je aan bij meer dan 10.000 ontwikkelaars, ontwerpers en bedrijfseigenaren om code van elke website te kopiëren en deze in hun eigen projecten te gebruiken.

Get DivMagic for 42% off

Limited time deal for 22:45