Leitfaden für die Vollbildmigration in Chrome für Android

Veröffentlicht: 28. Februar 2025

Edge-to-Edge ist eine Android-Funktion, mit der Apps die gesamte Breite und Höhe des Displays nutzen können, indem sie hinter den Android-Systemleisten gezeichnet werden.

Vor Chrome 135 wurde Chrome unter Android nicht im Edge-to-Edge-Modus dargestellt. In diesem Leitfaden wird erläutert, welche Auswirkungen diese Änderung auf Websites hat und was Sie als Entwickler tun können, um sich darauf vorzubereiten.

Überall Balken

Android bietet Systemleisten, die vom Betriebssystem selbst bereitgestellt werden.

Die Statusleiste, die Titelleiste und die Navigationsleiste werden zusammen als Systemleisten bezeichnet. Sie zeigen wichtige Informationen wie den Akkustand, die Uhrzeit und Benachrichtigungen an und ermöglichen die direkte Interaktion mit dem Gerät von überall aus.

Oben auf dem Bildschirm befindet sich die Statusleiste mit Benachrichtigungs- und Systemsymbolen.

Abbildung des oberen Teils eines Android-Geräts mit hervorgehobener Systemleiste.
Die Statusleiste auf Android-Geräten (Quelle).

Unten auf dem Display befindet sich die Navigationsleiste, über die du die Navigation mit den Steuerelementen „Zurück“, „Startbildschirm“ und „Übersicht“ steuern kannst. Das kann die klassische Bedienung über drei Schaltflächen oder die moderne Bedienung über Gesten sein.

Illustration des unteren Teils eines Android-Geräts mit sichtbarer Leiste für die Bedienung über Gesten.
Die Navigationsleiste für die Bedienung über Gesten (Quelle).

Zusätzlich zu den Android-Systemleisten bietet Chrome eine eigene Adressleiste, die beim Scrollen dynamisch ein- und ausgeblendet wird.

Chrome im Edge-to-Edge-Modus

Wenn Sie eine Website aufrufen, wird sie in einem Rechteck dargestellt, das als (Layout-)Darstellungsbereich bezeichnet wird.

In Chrome für Android wird der Layout-Darstellungsbereich vor Chrome 135 zwischen der oberen Statusleiste und der unteren Leiste für die Bedienung über Gesten gezeichnet. Das Vorhandensein der Adressleiste von Chrome (oder das Fehlen dieser) kann sich auf die Größe des Darstellungsbereichs auswirken. Der Darstellungsbereich wird jedoch nie in die obere Systemleiste oder die untere Leiste für die Bedienung über Gesten erweitert.

Abbildungen eines Android-Geräts mit Chrome für Android, das nicht randlos ist. Die Abbildung links zeigt Chrome mit maximierter Adressleiste. Zwischen der Adressleiste und der Leiste für die Bedienung über Gesten befindet sich ein grün hervorgehobenes Feld mit einer Größe von 100 svh. Die Abbildung rechts zeigt Chrome mit eingeklappter Adressleiste. Zwischen der Statusleiste und der Leiste für die Bedienung über Gesten befindet sich ein grün hervorgehobenes Feld mit einer Größe von 100lvh. Der Darstellungsbereich selbst hat einen gestrichelten blauen Umriss.
Die minimale und maximale Größe des Darstellungsbereichs in Chrome für Android vor Chrome 135. Diese Größen werden als kleiner und großer Darstellungsbereich bezeichnet. Der Darstellungsbereich selbst hat einen gestrichelten blauen Umriss.

Ab Chrome 135 kann der Darstellungsbereich in die Android-Leiste für die Bedienung über Gesten erweitert werden. Dieses Verhalten wird als Edge‑to‑Edge bezeichnet.

Abbildungen des Darstellungsbereichs in Chrome unter Android, der nicht randlos ist (links), und in Chrome unter Android, der randlos ist (rechts). Jede Visualisierung hat ein blaues Feld, das ein Element mit einer Höhe von 100 vh darstellt. Der Text auf der linken Seite verdeutlicht, was passiert, wenn die Chrome-Oberfläche nicht randlos ist. Dort steht: „Der Darstellungsbereich bleibt zwischen der oberen Statusleiste und der unteren Navigationsleiste für die Bedienung über Gesten fixiert.“ Der Text rechts erklärt, was passiert, wenn die Chrome-Oberfläche randlos ist. Dort steht: „Der Darstellungsbereich erstreckt sich bis in die Navigationsleiste für die Bedienung über Gesten.“
Der große Darstellungsbereich in Chrome unter Android, der nicht randlos ist (links), und in Chrome, der randlos ist (rechts). In Chrome mit Unterstützung für randlose Darstellung erstreckt sich der Darstellungsbereich in den Bereich der Navigationsleiste für die Bedienung über Gesten, wenn die dynamischen Symbolleisten von Chrome eingeklappt sind.

Chrome-Verhalten ohne Edge‑to‑Edge-Modus

Die folgende Aufnahme zeigt Chrome unter Android ohne Unterstützung für die randlose Darstellung. Die Adressleiste von Chrome (oben) wird beim Scrollen der Seite dynamisch ausgeblendet. Die Android-eigene Statusleiste oben und die Android-eigene Navigationsleiste unten bleiben jedoch an Ort und Stelle.

Altes Verhalten: Chrome für Android ohne Unterstützung für randlose Darstellung und mit geladener Seite https://developer.chrome.com/.

Hier ändert sich die Größe des Layout-Darstellungsbereichs, wenn die Adressleiste von Chrome ein- oder ausgeblendet wird.

Chrome-Verhalten bei Edge‑to‑Edge-Anzeige

Ab Chrome 135 kann Chrome Webinhalte bis zum unteren Geräterand darstellen, indem der Darstellungsbereich in den Bereich der Bedienung über Gesten erweitert wird.

Dynamisches randloses Display mit „Kinn“

Standardmäßig wird im randlosen Modus von Chrome eine neue dynamische untere Leiste, die sogenannte „Chin“, über dem Bereich der Navigationsleiste für die Bedienung über Gesten angezeigt. Genau wie die Chrome-Adressleiste wird diese Leiste beim Scrollen ausgeblendet und wirkt sich auf die Größe des Darstellungsbereichs aus.

In der folgenden Aufnahme von Chrome für Android mit Unterstützung für die randlose Darstellung werden sowohl die Chrome-Adressleiste als auch die untere Leiste dynamisch ausgeblendet, wenn auf der Seite nach unten gescrollt wird. Dadurch wird der Darstellungsbereich erweitert, sodass Webinhalte bis zum unteren Rand des Geräts angezeigt werden können.

Neues Verhalten: Chrome für Android mit Unterstützung für randlose Darstellung und geladener Seite https://developer.chrome.com/. Beachte, wie die untere Leiste beim Scrollen der Seite verschwindet.

Dieses Verhalten der unteren Leiste ist ab Chrome 135 das neue Standardverhalten von Chrome.

Standardmäßige randlose Darstellung mit Opt-in

Websites, die für die randlose Darstellung entwickelt wurden, können dies durch Anpassen des Meta-Tags viewport angeben. Wenn diese Option aktiviert ist, wird der Darstellungsbereich standardmäßig bis zum unteren Rand erweitert, ohne dass das Kinn jemals sichtbar ist.

Neues Verhalten bei aktiviertem Edge‑to‑Edge-Opt-in: Der Darstellungsbereich erstreckt sich beim Seitenaufbau bis zum unteren Rand. Es gibt keinen Rand am unteren Display.

Eine Seite kann mit dem Meta-Tag viewport und dem Schlüssel viewport-fit angeben, dass sie die randlose Darstellung unterstützt.

Wenn Sie die randlose Darstellung aktivieren möchten, legen Sie für viewport-fit den Wert cover fest.

<meta name="viewport" content="width=device-width, initial-scale=1, viewport-fit=cover" />

Weitere Informationen zu den verschiedenen Werten von viewport-fit finden Sie auf MDN.

Umgang mit Inhalten, die möglicherweise von der Navigationsleiste für die Bedienung über Gesten verdeckt werden

Im randlosen Modus sollten Sie alle Inhalte berücksichtigen, die möglicherweise durch die Navigationsleiste für die Bedienung über Gesten verdeckt werden.

In den meisten Fällen musst du nichts tun, da sich die untere Leiste von selbst aus dem Weg bewegt. Nutzer können weiterhin wie gewohnt auf alle Inhalte Ihrer Website zugreifen.

Wenn Sie jedoch standardmäßig die randlose Darstellung aktivieren oder ein Element am unteren Rand des Darstellungsbereichs positioniert haben, müssen Sie möglicherweise berücksichtigen, dass dieser Inhalt verdeckt werden könnte.

.stuck-to-the-bottom-of-the-viewport {
  position: fixed;
  bottom: 0;
}

Wenn das Kinn vorhanden ist, ist der Inhalt für Nutzer anfangs erreichbar, wird aber durch die Navigationsleiste von Android verdeckt, wenn das Kinn verschwindet.

Abbildungen eines Android-Geräts mit Chrome für Android im Edge-to-Edge-Modus. Die Abbildung links zeigt Chrome mit sichtbarem Kinn. Der unten verankerte Inhalt (rot dargestellt) befindet sich direkt darüber. Die Abbildung rechts zeigt Chrome ohne sichtbares Kinn. Dort befindet sich der unten verankerte Inhalt am unteren Rand des Geräts. Der Text daneben verdeutlicht, dass Inhalte am unteren Rand jetzt durch die Navigationsleiste für die Bedienung über Gesten verdeckt werden.
Abbildung einer Website mit einem unten positionierten Element mit „bottom: 0“. Wenn das Kinn sichtbar ist, befindet sich das unten positionierte Element über der Navigationsleiste von Android. Wenn die Kinnleiste weg ist, wird das Element hinter der Navigationsleiste von Android positioniert, die es an dieser Stelle teilweise verdeckt.

Um dieses Problem zu beheben, können Sie die Insets für den sicheren Bereich verwenden, um die betroffenen Elemente entweder immer über der nativen Android-Leiste für die Bedienung über Gesten zu positionieren oder ihren Hintergrund in diesen Bereich zu erweitern.

Die Einzüge des sicheren Bereichs

Die Safe Area Insets sind vier Umgebungsvariablen, die ein Rechteck durch seine oberen, rechten, unteren und linken Abstände vom Rand des Darstellungsbereichs definieren.

Zusammen bilden diese vier Werte das Rechteck für den sicheren Bereich, in dem Inhalte platziert werden können, ohne dass sie durch Elemente wie die Android-Leiste für die Bedienung über Gesten verdeckt werden.

Abbildung eines Android-Geräts mit Chrome im Edge-to-Edge-Modus. Das Kinn hat eine ausziehbare Ansicht. In Chrome wird der sichere Bereich als gelbes Rechteck angezeigt. Der untere Rand befindet sich direkt über der Navigationsleiste für die Bedienung über Gesten. In der Navigationsleiste für die Bedienung über Gesten ist der untere Teil des Darstellungsbereichs blau dargestellt. Der Text dazu besagt, dass das Rechteck des sicheren Bereichs im Darstellungsbereich um den „safe-area-bottom-inset“ eingerückt ist, damit Inhalte nicht unter der Navigationsleiste für die Bedienung über Gesten dargestellt werden.
Abbildung von Chrome im randlosen Modus, wobei der Darstellungsbereich und das Rechteck für den sicheren Bereich gelb dargestellt sind. Da das Kinn eingezogen ist, verhindert der untere Safe-Area-Inset, dass das Safe-Area-Rechteck in die Navigationsleiste für die Bedienung über Gesten hineinreicht. Dadurch wird der Darstellungsbereich unter der Navigationsleiste für Gesten sichtbar.

Unteren Safe-Area-Inset verwenden

Verwenden Sie für Elemente, die sich am unteren Rand des Darstellungsbereichs befinden, safe-area-inset-bottom als Wert für das Attribut bottom, damit sie nicht unter der Navigationsleiste für die Bedienung über Gesten positioniert werden. Der von safe-area-inset-bottom zurückgegebene Wert wird dynamisch aktualisiert, wenn sich die untere Leiste wegbewegt. Dadurch bleiben die unten positionierten Elemente über der Navigationsleiste für die Bedienung über Gesten von Android.

.stuck-to-the-bottom-of-the-viewport {
  position: fixed;
  bottom: env(safe-area-inset-bottom, 0px);
}
Abbildung eines Android-Geräts mit Chrome im Edge-to-Edge-Modus. In der Visualisierung links ist das Kinn sichtbar und der unten verankerte Inhalt befindet sich direkt darüber. In der Visualisierung rechts ist das Kinn nicht sichtbar und der unten verankerte Inhalt befindet sich an derselben Stelle wie links. Dadurch wird regulärer Inhalt unter der Navigationsleiste für die Bedienung über Gesten sichtbar.
Abbildungen einer Website mit einem Element am unteren Rand, das den unteren Safe-Area-Inset mit der Property bottom verwendet. Wenn das Kinn sichtbar ist, befindet sich die Leiste über dem Android-Navigationsziehpunkt für die Bedienung über Gesten. Wenn das Kinn ausgeblendet wird, befindet sich das Element darüber.

Wie Sie in den Abbildungen sehen können, ist das Ergebnis noch nicht perfekt: Wenn das Kinn entfernt wird, wird der verbleibende Seiteninhalt im Bereich der Navigationsleiste für die Bedienung über Gesten sichtbar. In diesem Zustand erstreckt sich der Darstellungsbereich nämlich bis in den Bereich der Navigationsleiste für die Bedienung über Gesten.

Damit Inhalte nicht unter unten verankerten Inhalten dargestellt werden, wird häufig die padding-bottom auf die safe-area-inset-bottom festgelegt. So wird das unten verankerte Element automatisch vergrößert, wenn der untere Bereich ausgeblendet wird. Das funktioniert zwar, wird aber nicht empfohlen, da es zu Layout-Thrashing führt, während das Kinn aus dem Weg geräumt wird.

Legen Sie für padding keinen Wert für den sicheren Bereich fest.

.stuck-to-the-bottom-of-the-viewport {
  position: fixed;
  bottom: 0;
  padding-bottom: env(safe-area-inset-bottom, 0px); /* 🛑 Don't do this, as it causes layout thrashing. */
}

Den unteren Safe-Area-Inset und den maximalen unteren Safe-Area-Inset verwenden

Stattdessen wird empfohlen, eine Kombination aus safe-area-inset-bottom und safe-area-max-inset-bottom zu verwenden. Im Gegensatz zum dynamischen safe-area-inset-bottom, der sich dynamisch aktualisiert, wenn sich das Kinn wegbewegt, stellt der safe-area-max-inset-bottom den Maximalwert des safe-area-inset-bottom dar.

Verwenden Sie dieses safe-area-max-inset-bottom, um das unten verankerte Element im Voraus zu vergrößern, und kombinieren Sie es mit safe-area-inset-bottom, um das Element nach unten zu ziehen, sodass es sich hinter dem Kinn befindet.

Verwenden Sie safe-area-max-inset-bottom in Kombination mit safe-area-inset-bottom.

:root {
  --safe-area-max-inset-bottom: env(safe-area-max-inset-bottom, 36px);
  --bottom-bar-height: 50px;
}

.stuck-to-the-bottom-of-the-viewport {
  position: fixed;
  bottom: 0;
  height: var(--bottom-bar-height);
  padding-bottom: var(--safe-area-max-inset-bottom);
  bottom: calc(env(safe-area-inset-bottom, 0px) - var(--safe-area-max-inset-bottom));
}

body {
  padding-bottom: calc(var(--bottom-bar-height) + var(--safe-area-max-inset-bottom));
}

Live-Demo ausprobieren

Das visuelle Ergebnis ist dasselbe wie beim padding-bottom: env(safe-area-inset-bottom, 0px);-Ansatz, aber die Leistung ist viel besser. Da sich nur der berechnete Wert für bottom ändern muss, wenn sich das Kinn wegbewegt, kommt es nicht zu Layout-Thrashing.

Abbildung eines Android-Geräts mit Chrome im Edge-to-Edge-Modus. In der Visualisierung links ist das Kinn sichtbar und der unten verankerte Inhalt befindet sich direkt darüber. In der Visualisierung rechts ist der untere Rand nicht sichtbar und der unten verankerte Inhalt wurde visuell vergrößert, um den Platz einzunehmen, an dem sich der untere Rand ursprünglich befand. Das sorgt für einen ansprechenden visuellen Effekt und verhindert, dass reguläre Seiteninhalte unter der Navigationsleiste für die Bedienung über Gesten sichtbar werden.
Abbildungen einer Website mit einem unten verankerten Element, das die Abstände des sicheren Bereichs berücksichtigt. Wenn das Kinn sichtbar ist (links), befindet sich das Element über dem Kinn. Wenn das Kinn nicht sichtbar ist, geht das Element visuell in die Navigationsleiste für die Bedienung über Gesten von Android über.

Edge-to-Edge-Modus vor Chrome 135 ausprobieren

Wenn Sie die randlose Darstellung vor der öffentlichen stabilen Version ausprobieren möchten, müssen Sie über chrome://flags einige Chrome-Funktions-Flags aktivieren:

  • EdgeToEdgeBottomChin (Wenn Sie die Option „Enabled Debug“ (Debuggen aktiviert) auswählen, wird die Hälfte des unteren Bereichs rosa eingefärbt, um ihn besser von anderen UI-Elementen zu unterscheiden.)
  • DrawCutOutEdgeToEdge
  • BottomBrowserControlsRefactor (nicht auf „Aktiviert“ setzen, sondern auf „Aktiviert – Dispatch yOffset“)
  • DynamicSafeAreaInsets
  • DynamicSafeAreaInsetsOnScroll
  • EdgeToEdgeWebOptIn
  • DrawKeyNativeEdgeToEdge
  • EdgeToEdgeSafeAreaConstraint (nicht auf „Aktiviert“, sondern auf „Scrollbare Variante aktivieren“ festlegen)

Die folgenden Flags dürfen nicht aktiviert sein:

  • DrawNativeEdgeToEdge
  • EdgeToEdgeEverywhere

Starten Sie Chrome zweimal neu.

Ihre Meinung ist uns wichtig

Wenn Sie Feedback zu Chrome und der Implementierung des Edge-to-Edge-Modus haben, können Sie uns dieses mitteilen, indem Sie einen Chromium-Fehler in der Komponente „UI > Browser > Mobile > EdgeToEdge“ melden. Vielen Dank für Ihr Feedback.