fix(pwa): fix UI overlap, scroll bleed and wrong nav height on iOS
Three root causes fixed: 1. Double safe-area padding: pwa.css set padding-top/bottom on body globally, but page containers already account for safe-area-inset in their height calculations. Removed body vertical padding (kept only in standalone media query for padding-top). 2. Wrong nav token: all page containers used --nav-height-mobile (56px) instead of --nav-bottom-height (68px = 56px scroll + 12px dots), causing 12px of content to render behind the bottom nav. 3. Scroll bleed: fixed-height page containers lacked overflow:hidden, allowing scroll events to propagate to the body. Added overscroll-behavior-y:contain on app-content globally. Fixes #16
This commit is contained in:
@@ -15,10 +15,11 @@ html, body {
|
||||
-webkit-tap-highlight-color: transparent;
|
||||
}
|
||||
|
||||
/* ── Safe Area Insets (Notch, Dynamic Island, Gesture Bar) ── */
|
||||
/* ── Safe Area Insets (Notch, Dynamic Island, Gesture Bar) ──
|
||||
* Nur horizontale Safe Areas auf body - vertikale werden von
|
||||
* Standalone-Modus (padding-top) und Nav/Seiten (padding-bottom) gehandhabt.
|
||||
* Kein body padding-top/bottom hier, sonst doppelt mit Seiten-Berechnungen. */
|
||||
body {
|
||||
padding-top: env(safe-area-inset-top);
|
||||
padding-bottom: env(safe-area-inset-bottom);
|
||||
padding-left: env(safe-area-inset-left);
|
||||
padding-right: env(safe-area-inset-right);
|
||||
}
|
||||
@@ -61,4 +62,9 @@ nav,
|
||||
body {
|
||||
padding-top: env(safe-area-inset-top);
|
||||
}
|
||||
|
||||
/* Kein Scroll-Bleed - Content bleibt in seinem Container */
|
||||
.app-content {
|
||||
overscroll-behavior-y: contain;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user