Webprestatieoptimalisatie en Lighthouse · Les

Responsieve afbeeldingen en lazy loading

Implementeer technieken voor responsieve afbeeldingen met `srcset` en `sizes` en gebruik lazy loading voor media buiten beeld.

Les 2 van 411 stappen

Responsieve afbeeldingen en lazy loading is een gratis Webprestatieoptimalisatie en Lighthouse-les op CoddyKit. Dit is les 2 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 Webprestatieoptimalisatie en Lighthouse. Je voortgang wordt gesynchroniseerd op het web en in de CoddyKit-app. De cursus Webprestatieoptimalisatie en Lighthouse bevat in totaal 4 lessen.

Waarom responsieve afbeeldingen?

Stel je voor dat je een website bekijkt op een klein telefoonscherm, maar dat de site een afbeelding laadt die bedoeld is voor een grote desktopmonitor. Dat verspilt gegevens en maakt de pagina traag!

Responsieve afbeeldingen zorgen ervoor dat gebruikers afbeeldingen krijgen die zijn geoptimaliseerd voor hun specifieke apparaat en schermgrootte. Dat verbetert de prestaties en gebruikerservaring.

`srcset` voor resolutie

Met het attribuut srcset kun je een lijst met verschillende afbeeldingsbestanden aanbieden waaruit de browser kan kiezen. Een manier om dit te gebruiken is voor resolutiewisseling.

Dit betekent dat je afbeeldingen met een hogere resolutie aanbiedt aan apparaten met schermen met een hoge pixeldichtheid (Retina) en afbeeldingen met een standaardresolutie aan andere apparaten.

  • 1x: standaardresolutie
  • 2x, 3x: hogere resoluties
<img src="cat-1x.jpg" srcset="cat-1x.jpg 1x, cat-2x.jpg 2x" alt="A cute cat" />

`srcset` voor viewportbreedte

Naast resolutie kan srcset ook helpen bij viewportwisseling. Hiermee kun je verschillende afbeeldingsbestanden aanbieden op basis van de viewportbreedte van de browser.

De descriptor w geeft de intrinsieke breedte van het afbeeldingsbestand aan. De browser kiest vervolgens de meest geschikte bron.

<img srcset="small.jpg 400w, medium.jpg 800w, large.jpg 1200w" src="medium.jpg" alt="A landscape" />

Het attribuut `sizes`

Bij het gebruik van srcset met w-descriptors moet de browser weten hoe breed de afbeelding op de pagina daadwerkelijk wordt weergegeven bij verschillende viewportgroottes. Daarvoor dient het attribuut sizes.

sizes bevat een lijst met mediaomstandigheden en breedten van afbeeldingsruimten. Het vertelt de browser: "Bij deze schermgrootte neemt de afbeelding X% van de viewport in."

Werken met `sizes`

De browser gebruikt sizes om de beste afbeelding uit srcset te kiezen. De afbeelding wordt niet verkleind; het attribuut helpt alleen om het juiste bronbestand te selecteren.

  • (max-width: 600px) 100vw: als de viewport 600px of minder is, is de afbeelding 100% van de viewportbreedte.
  • (max-width: 1200px) 50vw: als de viewport 1200px of minder is, is de afbeelding 50% van de viewportbreedte.
  • 800px: anders is de afbeelding 800px breed.

Gecombineerde `srcset` en `sizes`

Zo werken srcset en sizes samen. Wijzig de grootte van je browservenster om te zien hoe de browser verschillende afbeeldingen kan kiezen.

De browser gebruikt sizes om de ideale afbeeldingsbreedte te berekenen en zoekt vervolgens de dichtstbijzijnde overeenkomst tussen de door srcset opgegeven breedten.

<!DOCTYPE html>
<html>
<head>
  <title>Responsive Image</title>
</head>
<body>
  <img
    srcset="
      image-400w.jpg 400w,
      image-800w.jpg 800w,
      image-1200w.jpg 1200w"
    sizes="
      (max-width: 600px) 100vw,
      (max-width: 1200px) 50vw,
      800px"
    src="image-800w.jpg"
    alt="A beautiful landscape"
    style="max-width: 100%; height: auto;"
  >
  <p>Imagine image-400w.jpg, image-800w.jpg, image-1200w.jpg exist.</p>
</body>
</html>

Art direction met `<picture>`

Soms is alleen het schalen van een afbeelding niet voldoende. Je wilt misschien een volledig andere afbeelding of een andere uitsnede weergeven, afhankelijk van de schermgrootte of het apparaattype. Dit heet art direction.

Met het element <picture> kun je meerdere elementen <source> met verschillende mediaquery's en afbeeldingsbronnen aanbieden, plus een terugvaloptie met <img>.

<picture>
  <source media="(max-width: 600px)" srcset="narrow-crop.jpg">
  <source media="(min-width: 601px)" srcset="wide-crop.jpg">
  <img src="default-crop.jpg" alt="A scenic view">
</picture>

Wat is lazy loading?

Zelfs met responsieve afbeeldingen kan een pagina traag blijven als deze veel afbeeldingen bevat. Lazy loading helpt door het laden van niet-kritieke bronnen, zoals afbeeldingen of iframes, uit te stellen totdat ze nodig zijn.

Meestal betekent dit dat ze pas worden geladen wanneer ze bijna in de viewport van de gebruiker komen.

  • Verkort de aanvankelijke laadtijd van de pagina.
  • Bespaart bandbreedte voor gebruikers.
  • Verbetert Core Web Vitals zoals LCP.

Native lazy loading

Moderne browsers bieden native lazy loading. Je hebt dus geen JavaScript-bibliotheken nodig voor basisfunctionaliteit. Voeg gewoon het attribuut loading="lazy" toe aan je tags <img> of <iframe>.

  • eager: wordt onmiddellijk geladen.
  • lazy: het laden wordt uitgesteld totdat het element de viewport bijna bereikt.
  • auto: de browser beslist.
<img src="placeholder.jpg" data-src="actual-image.jpg" loading="lazy" alt="Product image" />

<p>Note: <code>data-src</code> is often used with JS-based lazy loading. For native, just <code>src</code> + <code>loading='lazy'</code> is usually enough if the browser supports it.</p>

Korte controle

Welke attributen en elementen worden voornamelijk gebruikt om responsieve afbeeldingen en lazy loading te implementeren?

Samenvatting van de les

We hebben krachtige technieken bekeken om afbeeldingen en media te optimaliseren voor webprestaties:

  • Responsieve afbeeldingen: gebruik srcset (met x voor resolutie en w voor viewportbreedte) en sizes om geschikte afbeeldingsformaten te leveren.
  • Art direction: gebruik het element <picture> voor meer controle over de weergave van afbeeldingen op basis van mediaomstandigheden.
  • Lazy loading: gebruik loading="lazy" op <img> en <iframe> om inhoud buiten beeld uit te stellen, zodat de aanvankelijke laadtijd van de pagina korter wordt.

Met deze methoden kun je de prestaties en gebruikerservaring van je website aanzienlijk verbeteren!

Gratis beginnen

Leer Webprestatieoptimalisatie en Lighthouse 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
12
Lessen
48

Veelgestelde vragen

Is de les “Responsieve afbeeldingen en lazy loading” gratis?

Ja — de volledige tekst van “Responsieve afbeeldingen en lazy loading” 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 Webprestatieoptimalisatie en Lighthouse wilt ontgrendelen, kun je upgraden naar CoddyKit PRO. De cursus Webprestatieoptimalisatie en Lighthouse bevat in totaal 4 lessen.

Wat leer ik in “Responsieve afbeeldingen en lazy loading”?

Implementeer technieken voor responsieve afbeeldingen met `srcset` en `sizes` en gebruik lazy loading voor media buiten beeld. Je oefent met Webprestatieoptimalisatie en Lighthouse 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 Webprestatieoptimalisatie en Lighthouse te beginnen?

Ervaring vooraf is niet nodig. Webprestatieoptimalisatie en Lighthouse 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 2 van 4.

Hoe lang duurt de les “Responsieve afbeeldingen en lazy loading”?

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 Webprestatieoptimalisatie en Lighthouse?

Ja. Elke les over Webprestatieoptimalisatie en Lighthouse 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. Efficiënte afbeeldingsindelingen
  2. Responsieve afbeeldingen en lazy loading
  3. Performance van video en animaties
  4. Image CDN's en leveringsoptimalisatie
← Terug naar Webprestatieoptimalisatie en Lighthouse