Пример кода: https://codesandbox.io/p/sandbox/reactj ... ked-6zmgr4
Обратите внимание на соответствующее div служит фиксированным нижним колонтитулом со следующими встроенными стилями:
Код: Выделить всё
style={{
position: "fixed",
bottom: 0,
}}
Прокрутите страницу вниз. Обратите внимание, что фиксированный нижний колонтитул больше не выравнивается по нижней части экрана. Скорее, существует зазор между нижней частью области просмотра и нижней частью фиксированного нижнего колонтитула, как показано на снимке экрана. (Текст на скриншоте перекрыт; написано: «Это должно быть исправлено в нижней части экрана при прокрутке вниз».)
Снимок экрана с проблемой
Как я могу решить эту проблему? До сих пор я пробовал следующее:
- Различные комбинации различных атрибутов CSS в элементах document и body (, top , overflow , overscroll-behavior)
Код: Выделить всё
position - Добавление нижнего: -100vh; padding-bottom:calc(100vh + env(safe-area-inset-bottom, 0)) в нижний колонтитул (в других браузерах это работало нормально, но не в бета-версии Safari 26)
- Установка следующего содержимого CSS:
Это предотвратило проблему (смещение элемента нижнего колонтитула при прокрутке), но привело к некоторым нежелательным побочным эффектам. Положение прокрутки больше не сохраняется при переходе обратно на страницу, а программная прокрутка с использованием window.scrollTo перестает работать. Кроме того, адресная строка больше не сжимается в нижней части экрана, когда пользователь прокручивает вниз.
Код: Выделить всё
html { overflow: hidden; } body { overflow: auto; }
Подробнее здесь: https://stackoverflow.com/questions/797 ... elements-g
Мобильная версия