Erfahren Sie, wie Sie plötzliche Layoutverschiebungen vermeiden, um die Benutzererfahrung zu verbessern
Aktualisiert
«I was about to klicken¿Qué es un click?Es la acción de pulsar un botón del ratón una vez colocado el puntero del mismo sobre un elemento determinado de la pantalla. El click determina la interacción del usuario con el sistema.Otras denominaciones: Clic Plus that! Why did it move? 😭»
Layoutverschiebungen können Benutzer ablenken. Stellen Sie sich vor, Sie haben angefangen, einen Artikel zu lesen, wenn sich plötzlich Elemente auf der Seite verschieben, Sie abschrecken und Sie auffordern, Ihren Platz wieder zu finden. Dies ist im Web sehr häufig, beispielsweise beim Lesen von Nachrichten oder beim Versuch, auf die Schaltflächen "Suchen" oder "In den Warenkorb" zu klicken. Solche Erfahrungen sind visuell erschütternd und frustrierend. Sie werden häufig verursacht, wenn sichtbare Elemente verschoben werden müssen, weil der Seite plötzlich ein anderes Element hinzugefügt oder die Größe geändert wurde.
Cumulative Layout Shift (CLS) - eine zentrale Web-Vitals-Metrik, die die Instabilität von Inhalten misst, indem Shift-Scores über Layout-Shifts summiert werden, die nicht innerhalb von 500 ms nach Benutzereingabe auftreten. Es wird angezeigt, wie stark der sichtbare Inhalt im Ansichtsfenster verschoben wurde und wie weit die betroffenen Elemente verschoben wurden.
In diesem Handbuch wird die Optimierung häufiger Ursachen für Layoutverschiebungen behandelt.
Die häufigsten Ursachen für ein schlechtes CLS sind:
- Bilder ohne Abmessungen
- Anzeigen, Einbettungen und Iframes ohne Abmessungen
- Dynamisch injizierter Inhalt
- Web-Schriftarten, die FOIT / FOUT verursachen
- Aktionen, die auf eine Netzwerkantwort warten, bevor das DOM aktualisiert wird
Bilder ohne Abmessungen 🌆
Zusammenfassung: Immer einschließen Breite und Höhe Größenattribute für Ihre Bilder und Videoelemente. Alternativ können Sie den erforderlichen Platz mit reservieren CSS-Seitenverhältnisfelder. Dieser Ansatz stellt sicher, dass der Browser beim Laden des Bildes den richtigen Speicherplatz im Dokument zuweisen kann.

Geschichte
In den frühen Tagen des Web würden Entwickler hinzufügen Breite und Höhe Attribute zu ihren <img> Tags, um sicherzustellen, dass auf der Seite ausreichend Speicherplatz zugewiesen wurde, bevor der Browser mit dem Abrufen von Bildern begann. Dies würde Reflow und Re-Layout minimieren.
<img src="puppy.jpg" Breite="640" Höhe="360" alt="Puppy with balloons">
Sie können bemerken Breite und Höhe oben enthalten sind keine Einheiten. Diese "Pixel" -Dimensionen würden sicherstellen, dass ein Bereich von 640 × 360 reserviert wird. Das Bild würde sich dehnen, um in diesen Raum zu passen, unabhängig davon, ob die tatsächlichen Abmessungen übereinstimmen oder nicht.
Wann Sich anpassendes Webdesign eingeführt wurde, begannen Entwickler zu weglassen Breite und Höhe and started using CSSConcepto de CSS¿Qué es el CSS?CSS es un lenguaje de programación que se usa para definir el estilo y el aspecto de un documento que se ha escrito mediante de un lenguaje de etiquetas, como HTML. Conocido además como hojas de estilo en cascada, es el que se emplea para dar colores, indicar tipos de letra o inclusive resaltar aspectos como el espacio entre items para dotar de estilo a Plus to resize images instead:
img {
Breite: 100%;
Höhe: Wagen;
}
Ein Nachteil dieses Ansatzes ist, dass einem Bild erst dann Speicherplatz zugewiesen werden kann, wenn es heruntergeladen wurde und der Browser seine Abmessungen bestimmen kann. Wenn Bilder geladen werden, fließt die Seite erneut, wenn jedes Bild auf dem Bildschirm angezeigt wird. Es wurde üblich, dass Text plötzlich auf dem Bildschirm auftauchte. Dies war überhaupt keine großartige Benutzererfahrung.
Hier kommt das Seitenverhältnis ins Spiel. Das Seitenverhältnis eines Bildes ist das Verhältnis seiner Breite zu seiner Höhe. Es ist üblich, dies als zwei durch einen Doppelpunkt getrennte Zahlen auszudrücken (zum Beispiel 16: 9 oder 4: 3). Bei einem Seitenverhältnis von x: y ist das Bild x Einheiten breit und Einheiten hoch.
Das heißt, wenn wir eine der Dimensionen kennen, kann die andere bestimmt werden. Für ein Seitenverhältnis von 16: 9:
- Wenn pupy.jpg eine Höhe von 360 Pixel hat, beträgt die Breite 360 x (16/9) = 640 Pixel
- Wenn pupy.jpg eine Breite von 640 Pixel hat, beträgt die Höhe 640 x (9/16) = 360 Pixel
Wenn Sie das Seitenverhältnis kennen, kann der Browser ausreichend Platz für die Höhe und den zugehörigen Bereich berechnen und reservieren.
Moderne Best Practice
Moderne Browser legen jetzt das Standard-Seitenverhältnis von Bildern basierend auf den Breiten- und Höhenattributen eines Bildes fest. Daher ist es hilfreich, diese festzulegen, um Layoutverschiebungen zu vermeiden. Dank der CSS-Arbeitsgruppe müssen Entwickler nur festlegen Breite und Höhe wie normal:
<img src="puppy.jpg" Breite="640" Höhe="360" alt="Puppy with balloons">
…und der UA Stylesheets von allen Browsern fügen Sie ein Standard-Seitenverhältnis basierend auf dem vorhandenen Element Breite und Höhe Attribute:
img {
Seitenverhältnis: attr(Breite) / attr(Höhe);
}
Dies berechnet ein Seitenverhältnis basierend auf dem Breite und Höhe Attribute, bevor das Bild geladen wurde. Diese Informationen werden zu Beginn der Layoutberechnung bereitgestellt. Sobald ein Bild eine bestimmte Breite hat (zum Beispiel) Breite: 100%) wird das Seitenverhältnis zur Berechnung der Höhe verwendet.
Tipp: Wenn Sie Schwierigkeiten haben, das Seitenverhältnis zu verstehen, ist dies praktisch Taschenrechner steht zur Verfügung, um zu helfen.
Die obigen Änderungen des Bildseitenverhältnisses wurden geliefert Feuerfuchs und Chromund kommen zu WebKit (Safari).
Ein fantastisches Eintauchen in das Seitenverhältnis mit weiteren Überlegungen zu reaktionsschnellen Bildern finden Sie unter ruckfreies Laden von Seiten mit Medienseitenverhältnissen.
Wenn sich Ihr Bild in einem Container befindet, können Sie CSS verwenden, um die Größe des Bildes auf die Breite dieses Containers zu ändern. Legen wir fest Höhe: Auto; um zu vermeiden, dass die Bildhöhe ein fester Wert ist (z 360px).
img {
Höhe: Wagen;
Breite: 100%;
}
Was ist mit reaktionsschnellen Bildern?
Wenn Sie mit reaktionsschnellen Bildern arbeiten, srcset Definiert die Bilder, zwischen denen der Browser wählen kann, und welche Größe jedes Bild hat. Sicherstellen <img> Es können Breiten- und Höhenattribute festgelegt werden. Jedes Bild sollte das gleiche Seitenverhältnis verwenden.
<img Breite="1000" Höhe="1000"
src="puppy-1000.jpg"
srcset="puppy-1000.jpg 1000w,
puppy-2000.jpg 2000w,
puppy-3000.jpg 3000w"
alt="Puppy with balloons"/>
Wie wäre es mit Kunstrichtung?
Die Seiten möchten möglicherweise eine beschnittene Aufnahme eines Bildes in schmalen Ansichtsfenstern einfügen, wobei das vollständige Bild auf dem Desktop angezeigt wird.
<Bild>
<source Hälfte="(max-width: 799px)" srcset="puppy-480w-cropped.jpg">
<source Hälfte="(min-width: 800px)" srcset="puppy-800w.jpg">
<img src="puppy-800w.jpg" alt="Puppy with balloons">
</Bild>
Es ist sehr wahrscheinlich, dass diese Bilder unterschiedliche Seitenverhältnisse haben und die Browser prüfen derzeit noch, welche Lösung hier am effizientesten sein sollte, einschließlich der Frage, ob die Abmessungen für alle Quellen angegeben werden sollten. Bis eine Lösung gefunden ist, ist hier noch ein Relayout möglich.
Anzeigen, Einbettungen und Iframes ohne Abmessungen 📢😱
Anzeige
Ads are one of the largest contributors to layout shifts on the web. Ad networks and publishers often support dynamic ad sizes. Ad sizes increase performanceEn el caso de las webs, el término Performance o rendimiento, se refiere a la velocidad de carga o a la potencia de cálculo de un servidor, es decir, a la velocidad a la que se transmiten los datos del servidor al cliente. Razones para una buena performance Una web que se carga lentamente, puede animar a los clientes potenciales a abandonar la página. Para asegurar una interacción fluida, se tiene Plus/revenue due to higher click rates and more ads competing in the auction. Unfortunately, this can führen¿Qué es un lead?Persona que muestra interés por un producto, servicio o marca facilitando sus datos, normalmente por medio de del formulario de contacto de una landing page. Plus to a suboptimal user experience due to ads pushing visible content you’re viewing down the page.
Während des Anzeigenlebenszyklus können viele Punkte zu einer Layoutverschiebung führen:
- Wenn eine Site den Anzeigencontainer in das DOM einfügt
- Wenn eine Website die Größe des Anzeigencontainers mit Erstanbietercode ändert
- Wenn die Anzeigen-Tag-Bibliothek geladen wird (und die Größe des Anzeigencontainers ändert)
- Wenn die Anzeige einen Container füllt (und die Größe ändert, wenn die endgültige Anzeige eine andere Größe hat)
Die gute Nachricht ist, dass Websites Best Practices befolgen können, um die Anzeigenverschiebung zu reduzieren. Websites können diese Layoutverschiebungen verringern, indem sie:
- Reservieren Sie statisch Platz für den Anzeigenplatz.
- Mit anderen Worten, formatieren Sie das Element, bevor die Anzeigen-Tag-Bibliothek geladen wird.
- Stellen Sie beim Platzieren von Anzeigen im Content-Flow sicher, dass Verschiebungen vermieden werden, indem Sie die Slot-Größe reservieren. Diese Anzeigen sollte nicht Layoutverschiebungen verursachen, wenn sie außerhalb des Bildschirms geladen werden.
- Seien Sie vorsichtig, wenn Sie nicht klebrige Anzeigen oben im Ansichtsfenster platzieren.
- Im folgenden Beispiel wird empfohlen, die Anzeige unter das "World Vision" -Logo zu verschieben und genügend Platz für den Slot zu reservieren.
- Vermeiden Sie das Reduzieren des reservierten Speicherplatzes, wenn keine Anzeige zurückgegeben wird, wenn der Anzeigenplatz durch Anzeigen eines Platzhalters sichtbar ist.
- Beseitigen Sie Verschiebungen, indem Sie die größtmögliche Größe für den Anzeigenplatz reservieren.
- Dies funktioniert, es besteht jedoch die Gefahr, dass ein Leerzeichen vorhanden ist, wenn ein kleineres Anzeigenmotiv den Slot ausfüllt.
- Wählen Sie die wahrscheinlichste Größe für den Anzeigenplatz basierend auf historischen Daten.
Bei einigen Websites kann es vorkommen, dass das anfängliche Reduzieren des Slots die Layoutverschiebungen verringert, wenn es unwahrscheinlich ist, dass der Anzeigen-Slot gefüllt wird. Es gibt keine einfache Möglichkeit, die genaue Größe jedes Mal auszuwählen, es sei denn, Sie steuern die Anzeigenschaltung selbst.

Reservieren Sie statisch Platz für den Anzeigenplatz
Statisch gestaltete Slot-DOM-Elemente mit denselben Größen, die an Ihre Tag-Bibliothek übergeben werden. Dies kann dazu beitragen, dass die Bibliothek beim Laden keine Layoutverschiebungen einführt. Wenn Sie dies nicht tun, kann die Bibliothek die Größe des Slot-Elements nach dem Seitenlayout ändern.
Berücksichtigen Sie auch die Größe kleinerer Anzeigenschaltungen. Wenn eine kleinere Anzeige geschaltet wird, kann ein Publisher den (größeren) Container formatieren, um Layoutverschiebungen zu vermeiden. Der Nachteil dieses Ansatzes besteht darin, dass dadurch die Leerstelle vergrößert wird. Beachten Sie daher den Kompromiss hier.
Vermeiden Sie es, Anzeigen oben im Ansichtsfenster zu platzieren
Anzeigen im oberen Bereich des Ansichtsfensters können zu einer stärkeren Layoutverschiebung führen als Anzeigen in der Mitte. Dies liegt daran, dass Anzeigen oben in der Regel weiter unten mehr Content enthalten. Dies bedeutet, dass mehr Elemente verschoben werden, wenn die Anzeige eine Verschiebung verursacht. Umgekehrt verschieben Anzeigen in der Nähe der Mitte des Ansichtsfensters möglicherweise nicht so viele Elemente, wie der Inhalt darüber weniger wahrscheinlich verschoben wird.
Einbettungen und Iframes
Embeddable WidgetsConcepto de Widgets¿Qué son los Widgets?Los Widgets son una serie de pequeños programas que se usan para añadir funciones, simplificar o automatizar aquellas acciones que se lleven a cabo a menudo dentro de una web. Son herramientas adicionales, añadidos que se elaboran con la finalidad de hacer más fácil las labores de mantenimiento o inclusive de generación de contenidos dentro de cualquier sitio de Internet y que no han hecho Plus allow you to embed portable web content in your page (for example, videos from YoutubeConcepto de Youtube¿Qué es Youtube?Youtube es una de las plataformas más utilizadas e importantes de todo internet. Consiste en un rincón del océano digital dedicado única y exclusivamente al contenido en vídeo, permitiendo a los usuarios tanto publicar contenidos audiovisuales como consumirlos. Es el principal lugar al que acudir al momento de buscar algún documento en forma de vídeo o de ver cualquier tipo de publicación elaborada en este formato.Una Plus, maps from Google MapsConcepto de Google Maps¿Qué es Google Maps?Google Maps es el nombre de una aplicación desarrollada por Google que se encarga de ofrecer a los usuarios toda la información que necesiten sobre su ubicación actual, como además la de cualquier dirección específica, así como el trazado de recorridos para llegar al lugar que estos deseen desde donde se encuentran.Una app que aprovecha la conexión GPS de los smartphones y tablets y Plus, social media¿Qué es Social Media?Término en inglés que puede traducirse como medios sociales y que designa al conjunto de plataformas, herramientas, apps y medios de comunicación donde la información es creada y visualizada por los usuarios, que pueden compartir y transferir textos, fotografías, audio, vídeo… Dos ejemplos de social media son Facebook y Wikipedia.Otras denominaciones: Medios sociales Plus posts, and so on). These embeds can take a number of forms:
- HTMLHTML (Hypertext Markup Language) se usa para estructurar el contenido de texto de un documento web. No sólo se marca el contenido, sino además la meta-información que describe este contenido. Las páginas HTML se almacenan normalmente en el directorio raíz del servidor. Cómo se creó En la era digital, a los usuarios les resulta difícil hallar su camino en las webs y hacer un seguimiento de las estructuras de las Plus fallback and a JavaScriptJavaScript es un lenguaje de programación que funciona en el lado del cliente y con el que las webs pueden ser más funcionales. Incorporación en código HTML El código JavaScript puede ser incrustado en las páginas HTML, para que adquieran funcionalidad. Existen varias opciones. Puede estar entre las etiquetas <SCRIPT> y </SCRIPT>, puede estar contenido en un archivo externo, puede ser un parámetro de las etiquetas HTML, y puede estar Plus tag transforming the fallback into a fancy embed
- Inline HTML AusschnittConcepto de Snippet¿Qué es un Snippet?El Snippet es el pequeño texto que los buscadores muestran al momento de lanzar resultados a los usuarios que hacen una búsqueda. Suele ser un párrafo que acompaña al título que se muestra en grande, con un resumen del contenido de su interior. Consiste en una definición que se usa mucho dentro del campo de la web y, especialmente, del posicionamiento SEO.Los snippets pueden ser Plus
- iframeConcepto de Iframe¿Qué es un Iframe?Un Iframe es un documento de una web que se inserta en otra página web. Consiste en un elemento que puede albergar cualquier tipo de contenido en su interior y que ayuda, entre otras cosas, a ampliar el mensaje que se ofrece con fuentes externas o con material complementario que pueda resultar de interés para el usuario que entra.Este elemento web se usa especialmente al Plus embed
These embeds often aren’t aware in advance just how large an embed will be (for example, in the case of a social media PostConcepto de Post¿Qué es un Post?Un Post es todo aquel contenido, sea post, opinión, noticia u otro género, que un autor publica en un blog. Este puede ser de carácter corporativo o meramente ocioso; pero siempre tiene como meta arrojar información o reflejar una idea, al mismo tiempo de facilitar que los usuarios encuentren la web donde se recoge por medio de de buscadores y demás plataformas online.Generalmente, se han Plus – does it have an embedded image? video? multiple rows of text?). As a result, platforms offering embeds do not always reserve enough space for their embeds and can cause layout shifts when they finally load.

To work around this, you can minimize CLS by precomputing sufficient space for embeds with a placeholder or fallback. One ArbeitsablaufConcepto de Workflow¿Qué es un Workflow?El Workflow o flujo de trabajo es un sistema con el que se busca automatizar determinado procesos dentro del ámbito laboral. Aplicado en el contexto del marketing, fundamentalmente el digital u online, reúne todas las acciones que se automatizan de forma que se ponen en marcha en función de los distintos tipos de usuario y su vinculación con la web de una marca. Un planteamiento Plus you can use for embeds:
- Ermitteln Sie die Höhe Ihrer endgültigen Einbettung, indem Sie sie mit den Entwicklertools Ihres Browsers überprüfen
- Sobald die Einbettung geladen ist, wird die Größe des enthaltenen Iframes so angepasst, dass sein Inhalt passt.
Beachten Sie die Abmessungen und gestalten Sie einen Platzhalter für die Einbettung entsprechend. Möglicherweise müssen Sie mithilfe von Medienabfragen geringfügige Unterschiede in der Größe von Anzeigen / Platzhaltern zwischen verschiedenen Formfaktoren berücksichtigen.
Dynamischer Inhalt 📐
Zusammenfassung: Vermeiden Sie das Einfügen neuer Inhalte über vorhandene Inhalte, es sei denn, dies ist eine Reaktion auf eine Benutzerinteraktion. Dies stellt sicher, dass alle auftretenden Layoutverschiebungen erwartet werden.
Wahrscheinlich sind Layoutverschiebungen aufgrund der Benutzeroberfläche aufgetreten, die oben oder unten im Ansichtsfenster angezeigt wird, wenn Sie versuchen, eine Site zu laden. Ähnlich wie bei Anzeigen geschieht dies häufig bei Bannern und Formularen, die den Rest des Seiteninhalts verschieben:
- «Sign-up to our Newsletter¿Qué es una newsletter?Publicación digital periódica, transmitida generalmente por medio de del email, con la que una marca de comunica con sus usuarios, que previamente se han suscrito a ella, autorizando el envío de información. Es una herramienta con la que se busca fidelizar a clientes y mantenerles actualizados con noticias de ofertas, promociones y nuevos productos.Otras denominaciones: Boletín informativo, NW Plus!» (whoa, slow down! we just met!)
- "Verwandte Inhalte"
- "Installieren Sie unsere [iOS / Android] App"
- "Wir nehmen immer noch Bestellungen entgegen"
- «DSGVOEl Reglamento General de Protección de Datos (GDPR) es un reglamento de la UE diseñado para regular y armonizar el almacenamiento y tratamiento de datos personales. El Reglamento afecta a las empresas, a las autoridades públicas y a los operadores web de la Unión Europea. El GDPR entró en vigor en la UE el 25 de mayo de 2018. Antecedentes Los primeros esfuerzos para proteger los datos personales y la Plus notice»
Wenn Sie diese Arten von UI-Angeboten anzeigen müssen, reservieren Sie im Voraus ausreichend Platz im Ansichtsfenster (z. B. mithilfe eines Platzhalters oder einer Skelett-UI), damit sich der Inhalt der Seite beim Laden nicht überraschend verschiebt .
Web-Schriftarten, die FOUT / FOIT verursachen 📝
Das Herunterladen und Rendern von Web-Schriftarten kann auf zwei Arten zu Layoutverschiebungen führen:
- Die Fallback-Schriftart wird durch eine neue Schriftart ersetzt (FOUT - Flash von nicht gestyltem Text)
- "Unsichtbarer" Text wird angezeigt, bis eine neue Schriftart gerendert wird (FOIT - Blitz aus unsichtbarem Text)
Die folgenden Tools können Ihnen dabei helfen, dies zu minimieren:
SchriftanzeigeMit dieser Option können Sie das Renderverhalten von benutzerdefinierten Schriftarten mit Werten wie ändernWagen,Tauschen,Block,ZurückfallenundOptional. Leider sind alle diese Werte (außer Optional) kann ein Re-Layout auf eine der oben genannten Arten verursachen.- Das API zum Laden von Schriftarten kann die Zeit reduzieren, die benötigt wird, um die erforderlichen Schriftarten zu erhalten.
Ab Chrome 83 kann ich auch Folgendes empfehlen:
- Verwenden von
auf den wichtigsten Web-Schriftarten: Eine vorinstallierte Schriftart hat eine höhere Chance, die erste Farbe zu treffen. In diesem Fall gibt es keine Layoutverschiebung. - Kombinieren
undSchriftanzeige: optional
Lesen Sie Verhindern Sie Layoutverschiebungen und Blitze von unsichtbarem Text (FOIT), indem Sie optionale Schriftarten vorladen, um weitere Details zu erhalten.
Animationen 🏃♀️
Zusammenfassung: Bevorzugen verwandeln animations to animations of properties that auslösenConcepto de Trigger¿Qué es un Trigger?Un trigger además conocido como disparador, es una especie de script en lenguaje de programación SQL, MySQL o PostgreSQL para base de datos.Se trata de una serie de procedimientos que se ejecutan, según instrucciones definidas, cuando se lleven a cabo determinadas operaciones, sobre la información que contiene una base de datos.Generalmente, un trigger se acciona cuando se ejecutan acciones para insertar, quitar o modificar los Plus layout changes.
Änderungen an CSS-Eigenschaftswerten können erfordern, dass der Browser auf diese Änderungen reagiert. Eine Reihe von Werten löst ein Neulayout, eine Farbe und einen Verbund aus, z Box Schatten und Box-Größe. Eine Reihe von CSS-Eigenschaften kann kostengünstiger geändert werden.
Weitere Informationen darüber, welche CSS-Eigenschaften das Layout auslösen, finden Sie unter CSS-Trigger und Hochleistungsanimationen.
Entwicklertools 🔧
Ich freue mich, Ihnen mitteilen zu können, dass eine Reihe von Tools zum Messen und Debuggen von Cumulative Layout Shift (CLS) verfügbar sind.
Leuchtturm 6.0 und oben enthalten Unterstützung für die Messung von CLS in einer Laborumgebung. In dieser Version werden auch die Knoten hervorgehoben, die die meisten Layoutverschiebungen verursachen.

Das Leistungspanel in DevTools hebt Layoutverschiebungen in der Erfahrung Abschnitt ab Chrome 84. Die Zusammenfassung Ansicht für a Layoutverschiebung Der Datensatz enthält die kumulative Layoutverschiebungsbewertung sowie eine Rechtecküberlagerung mit den betroffenen Regionen.

Layoutverschiebung Aufzeichnung. Durch Klicken auf den Datensatz können Sie einen Drilldown in betroffene Elemente durchführen (z. B. die von / zu verschobenen Einträge beachten).Das Messen von realem CLS, das auf Ursprungsebene aggregiert wurde, ist auch mithilfe des Chrome User Experience Report möglich. CrUX CLS-Daten sind über BigQuery und a verfügbar Beispielabfrage Um die CLS-Leistung zu betrachten, steht sie zur Verfügung.
Das war's für diesen Leitfaden. Ich hoffe, es hilft, Ihre Seiten ein wenig weniger zwielichtig zu halten 🙂
Vielen Dank an Philip Walton, Kenji Baheux, Warren Maresca, Annie Sullivan, Steve Kobes und Gilberto Cocchi für ihre hilfreichen Bewertungen.




