Обрезка чаще всего появляется не из-за контента, а из-за контейнера: неверная высота, скролл внутри вложенного блока или конфликт `100vh` с адресной строкой. Если страница длинная, WebView начинает считать видимую область иначе, чем обычный браузер.
Проверь базу:
• у корня нет фиксированной высоты, если она не нужна;
• `html, body` не зажаты `overflow: hidden`;
• высота берётся от реального контента, а не от окна;
• не смешивай внешний скролл и внутренний `div`-скролл без причины.
Если нужен один экран на весь контент, используй гибкую верстку: `min-height: 100%`, `height: auto`, аккуратный `overflow-y: auto`. Для медиа добавляй `max-width: 100%` и `height: auto`, чтобы картинка или iframe не ломали расчёт высоты. Отдельно проверь, не появляется ли обрезка только на iOS: там особенно часто мешают динамические панели и вложенные блоки.
Если контент всё равно режется, перенеси скролл на самый верхний уровень и убери лишние обёртки. Чем меньше контейнеров управляет высотой, тем стабильнее страница живёт внутри WebView.
🚀 WebView & PWA
@kustov_webview
Почему длинная страница режется в мобильном WebView и как это обойти без костылей
Этот пост опубликован в Telegram-канале 🚀 WebView & PWA. Подписаться можно по ссылке: @kustov_webview.