Optimering af webydeevne og Lighthouse · Lektion

Responsive billeder og lazy loading

Implementér teknikker til responsive billeder med `srcset` og `sizes`, og udnyt lazy loading til medier uden for skærmområdet.

Lektion 2 af 411 trin

Responsive billeder og lazy loading er en gratis Optimering af webydeevne og Lighthouse-lektion på CoddyKit. Dette er lektion 2 af 4. Du kan læse hele lektionen gratis nedenfor — og derefter øve dig praktisk i browseren med en indbygget kodeeditor og en AI-vejleder, der er tilgængelig døgnet rundt. Den er en del af læringsforløbet i Optimering af webydeevne og Lighthouse, og dine fremskridt synkroniseres på tværs af nettet og CoddyKit-appen. Optimering af webydeevne og Lighthouse-kurset indeholder 4 lektioner i alt.

Hvorfor bruge responsive billeder?

Forestil dig, at du besøger et websted på en lille telefonskærm, men at webstedet indlæser et billede, der er beregnet til en stor computerskærm. Det spilder data og gør siden langsom!

Responsive billeder sikrer, at brugerne får billeder, der er optimeret til deres specifikke enhed og skærmstørrelse, hvilket forbedrer ydeevnen og brugeroplevelsen.

`srcset` til opløsning

Attributten srcset giver dig mulighed for at angive en liste over forskellige billedfiler, som browseren kan vælge imellem. En måde at bruge den på er til skift af opløsning.

Det betyder, at du leverer billeder med højere opløsning til enheder med skærme med høj DPI (Retina) og billeder med standardopløsning til andre enheder.

  • 1x: Standardopløsning
  • 2x, 3x: Højere opløsninger
<img src="cat-1x.jpg" srcset="cat-1x.jpg 1x, cat-2x.jpg 2x" alt="A cute cat" />

`srcset` til visningsområdets bredde

Ud over opløsning kan srcset også hjælpe med skift baseret på visningsområdet. Det giver dig mulighed for at tilbyde forskellige billedfiler baseret på browserens visningsområdes bredde.

Deskriptoren w angiver billedfilens naturlige bredde. Browseren vælger derefter den mest passende kilde.

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

Attributten `sizes`

Når du bruger srcset med w-deskriptorer, skal browseren vide, hvor bredt billedet faktisk bliver gengivet på siden ved forskellige visningsområdestørrelser. Det er her, attributten sizes kommer ind i billedet.

sizes tager en liste over mediebetingelser og bredder på billedpladser. Den fortæller browseren: "Ved denne skærmstørrelse optager billedet X % af visningsområdet."

Arbejde med `sizes`

Browseren bruger sizes til at vælge det bedste billede fra srcset. Den ændrer ikke billedets størrelse, men hjælper med at vælge den rigtige kildefil.

  • (max-width: 600px) 100vw: Hvis visningsområdet er 600px eller mindre, fylder billedet 100 % af visningsområdets bredde.
  • (max-width: 1200px) 50vw: Hvis visningsområdet er 1200px eller mindre, fylder billedet 50 % af visningsområdets bredde.
  • 800px: Ellers er billedet 800px bredt.

Kombination af `srcset` og `sizes`

Sådan fungerer srcset og sizes sammen. Prøv at ændre størrelsen på dit browservindue for at se, hvordan den kan vælge forskellige billeder.

Browseren bruger sizes til at beregne den ideelle billedbredde og finder derefter det nærmeste match blandt de bredder, der er angivet i srcset.

<!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 med `<picture>`

Nogle gange er det ikke nok blot at skalere et billede. Du vil måske vise et helt andet billede eller en anden beskæring baseret på skærmstørrelsen eller enhedstypen. Det kaldes art direction.

Elementet <picture> giver dig mulighed for at angive flere <source>-elementer med forskellige medieforespørgsler og billedkilder samt et fallback-element <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>

Hvad er lazy loading?

Selv med responsive billeder kan en side stadig være langsom, hvis den indeholder mange billeder. Lazy loading hjælper ved at udskyde indlæsningen af ikke-kritiske ressourcer (f.eks. billeder eller iframes), indtil der er brug for dem.

Det betyder typisk, at de kun indlæses, når de er ved at komme ind i brugerens visningsområde.

  • Reducerer sidens indledende indlæsningstid.
  • Sparer båndbredde for brugerne.
  • Forbedrer Core Web Vitals som LCP.

Indbygget lazy loading

Moderne browsere tilbyder indbygget lazy loading, så du ikke behøver JavaScript-biblioteker til grundlæggende lazy loading. Du skal blot tilføje attributten loading="lazy" til dine <img>- eller <iframe>-tags.

  • eager: Indlæses med det samme.
  • lazy: Indlæsningen udskydes, indtil elementet er tæt på visningsområdet.
  • auto: Browseren bestemmer.
<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>

Hurtig kontrol

Hvilke attributter og elementer bruges primært til at implementere responsive billeder og lazy loading?

Opsummering af lektionen

Vi har gennemgået effektive teknikker til at optimere billeder og medier med henblik på webydeevne:

  • Responsive billeder: Brug srcset (med x til opløsning og w til visningsområdets bredde) samt sizes for at levere billeder i passende størrelser.
  • Art direction: Brug elementet <picture> for at få mere kontrol over billedvisningen baseret på mediebetingelser.
  • Lazy loading: Brug loading="lazy" på <img> og <iframe> for at udskyde indlæsningen af indhold uden for skærmen og dermed øge sidens indledende indlæsningshastighed.

Ved at bruge disse metoder kan du forbedre dit websteds ydeevne og brugeroplevelse betydeligt!

Gratis at komme i gang

Lær Optimering af webydeevne og Lighthouse med en AI-underviser — gratis

Skriv og kør rigtig kode i din browser, få øjeblikkelig hjælp fra en AI-underviser døgnet rundt, og fortsæt, hvor du slap, på web eller i appen.

Kurser
12
Lektioner
48

Ofte stillede spørgsmål

Er lektionen “Responsive billeder og lazy loading” gratis?

Ja — hele teksten til “Responsive billeder og lazy loading” kan læses gratis her på nettet. Hvis du vil øve dig interaktivt med en indbygget kodeeditor og en AI-vejleder døgnet rundt og få adgang til resten af Optimering af webydeevne og Lighthouse-kurset, skal du opgradere til CoddyKit PRO. Optimering af webydeevne og Lighthouse-kurset indeholder 4 lektioner i alt.

Hvad lærer jeg i “Responsive billeder og lazy loading”?

Implementér teknikker til responsive billeder med `srcset` og `sizes`, og udnyt lazy loading til medier uden for skærmområdet. Du øver dig i Optimering af webydeevne og Lighthouse med praktisk kode, som du kører direkte i browseren, og en AI-vejleder døgnet rundt besvarer dine spørgsmål, mens du arbejder dig gennem lektionen.

Skal jeg have erfaring for at begynde på Optimering af webydeevne og Lighthouse?

Der kræves ingen tidligere erfaring. Optimering af webydeevne og Lighthouse på CoddyKit er tilrettelagt for både begyndere og øvede, så du kan starte her eller fra begyndelsen og lære i dit eget tempo. Dette er lektion 2 af 4.

Hvor lang tid tager lektionen “Responsive billeder og lazy loading”?

De fleste CoddyKit-lektioner tager cirka 5–10 minutter. Hver lektion er kort og interaktiv, så du gør løbende fremskridt og kan fortsætte, hvor du slap – på både web og app.

Kan jeg skrive og køre kode i denne Optimering af webydeevne og Lighthouse-lektion?

Ja. Alle Optimering af webydeevne og Lighthouse-lektioner har en indbygget kodeeditor, så du kan skrive og køre rigtig kode direkte i din browser og få øjeblikkelig feedback fra AI – uden lokal opsætning.

Alle lektioner i dette kursus

  1. Effektive billedformater
  2. Responsive billeder og lazy loading
  3. Performance for video og animation
  4. Billed-CDN'er og optimering af levering
← Tilbage til Optimering af webydeevne og Lighthouse