Lazy Loading für Bilder: loading=lazy
Verzögern Sie das Laden nicht sichtbarer Bilder mit dem nativen loading-Attribut
Lazy Loading für Bilder: loading=lazy ist eine kostenlose HTML Academy-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des HTML Academy-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der HTML Academy-Kurs umfasst insgesamt 4 Lektionen.
Das loading-Attribut
<img loading="lazy" src="..."> teilt dem Browser mit, den Download des Bildes zurückzustellen, bis es kurz davorsteht, in den Viewport zu gelangen. Die native Unterstützung in allen modernen Browsern macht dies zum einfachsten Performancegewinn für bildlastige Seiten.
Wie „Near the Viewport“ definiert wird
Browser verwenden einen kleinen heuristischen Abstand (meist einige tausend Pixel unterhalb des Folds). Das Bild beginnt früh genug zu laden, sodass es vollständig gerendert ist, wenn die Nutzer dorthin scrollen – Lazy Loading bleibt für aufmerksame Nutzer unsichtbar.
Wann Sie Lazy Loading nicht verwenden sollten
Setzen Sie loading="lazy" niemals für Bilder oberhalb des Folds oder für Ihr LCP-Element (Largest Contentful Paint). Der verzögerte Ladevorgang hält das wichtigste visuelle Element zurück, was sowohl die wahrgenommene Geschwindigkeit als auch die Core Web Vitals verschlechtert.
Breite und Höhe erforderlich
Damit Lazy Loading effektiv funktioniert, weisen Sie dem <img>-Element explizite width- und height-Werte (oder eine aspect-ratio-CSS-Eigenschaft) zu. Ohne diese Abmessungen kann der Browser keinen Platz reservieren, beim Scrollen kommt es zu erneuten Layoutberechnungen, und die Heuristik für Lazy Loading greift nicht korrekt.
<img loading="lazy" src="cat.jpg" width="800" height="600" alt="A cat">Lazy Loading für iframes
Dasselbe Attribut funktioniert auch bei <iframe>. <iframe loading="lazy"> verzögert das Laden von Karten, Videos und Social-Media-Einbettungen unterhalb des Folds – andernfalls würde jedes davon bei jedem Seitenaufruf Megabytes an JavaScript von Drittanbietern laden.
eager ist der Standard
Der Standardwert ist loading="eager" (sofort laden) und wird nur selten ausdrücklich angegeben. Das Setzen von eager bei Bildern oberhalb des Folds kann als Dokumentation nützlich sein und Code-Reviewenden signalisieren, dass diese Entscheidung bewusst getroffen wurde.
Mit srcset kombinieren
Lazy Loading lässt sich perfekt mit responsiven Bildern kombinieren. Der Browser wählt weiterhin den passenden Kandidaten aus srcset; er verschiebt lediglich den Download. Zwischen loading="lazy" und srcset ist keine zusätzliche Abstimmung erforderlich.
<img
loading="lazy"
srcset="img-400.jpg 400w, img-800.jpg 800w, img-1200.jpg 1200w"
sizes="(min-width: 768px) 800px, 100vw"
src="img-800.jpg"
alt="Hero"
width="800" height="600"
>Hinweis zur Decodierung
Kombinieren Sie Lazy Loading mit decoding="async", damit der Browser das Bild außerhalb des Hauptthreads decodieren kann. Dadurch wird die Verarbeitung von Eingaben beim Scrollen nicht blockiert, wenn nach einem langen Scrollvorgang viele Bilder gleichzeitig eintreffen.
Hintergrundbilder
CSS background-image kann nicht nativ per Lazy Loading geladen werden. Für Hero-Hintergründe oberhalb des Folds ist das unproblematisch; für Hintergründe unterhalb des Folds verwenden Sie IntersectionObserver, um die URL einzusetzen, sobald sich das Element dem Viewport nähert.
Verhalten beim Drucken
Beim Drucken der Seite lädt der Browser jedes Bild unabhängig von loading="lazy" sofort, damit die Druckversion vollständig ist. Sie müssen Lazy-Loading-Bilder in Druck-Stylesheets nicht gesondert behandeln.
Einsparungen messen
Das Lighthouse-Audit „Defer offscreen images“ listet jedes Bild auf, für das loading="lazy" verwendet werden sollte. Eine Filterung im Network-Bereich nach „Img“ und die Ansicht „Waterfall“ zeigen die gestaffelten Ladevorgänge, die Lazy Loading erzeugt – bei Bildergalerien sinkt die Zahl der anfänglichen Anfragen drastisch.
Wissenscheck
Warum ist es schädlich, loading="lazy" für ein Hero-Bild am oberen Seitenrand zu setzen?
Zusammenfassung
loading="lazy" bei <img>- und <iframe>-Elementen außerhalb des sichtbaren Bereichs ist ein Performancegewinn mit nur einem Attribut. Kombinieren Sie es mit expliziten width-/height-Werten (um Platz zu reservieren), srcset (für Responsivität) und decoding="async" (für flüssiges Scrollen). Wenden Sie es niemals auf das LCP-Bild oder auf Inhalte an, die im initialen Viewport sichtbar sind.
Häufig gestellte Fragen
Ist die Lektion „Lazy Loading für Bilder: loading=lazy“ kostenlos?
Ja — der vollständige Text von „Lazy Loading für Bilder: loading=lazy“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des HTML Academy-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der HTML Academy-Kurs umfasst insgesamt 4 Lektionen.
Was lerne ich in „Lazy Loading für Bilder: loading=lazy“?
Verzögern Sie das Laden nicht sichtbarer Bilder mit dem nativen loading-Attribut Du übst HTML Academy mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.
Brauche ich Erfahrung, um HTML Academy zu starten?
Keine Vorkenntnisse erforderlich. HTML Academy auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.
Wie lange dauert die Lektion „Lazy Loading für Bilder: loading=lazy“?
Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.
Kann ich in dieser HTML Academy-Lektion Code schreiben und ausführen?
Ja. Jede HTML Academy-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.
Alle Lektionen in diesem Kurs
- Die Attribute async und defer
- Preload Prefetch und Preconnect
- Lazy Loading für Bilder: loading=lazy
- Ressourcenhinweise: modulepreload