Проблема нижнего разрыва мобильного устройства iOS с положением: исправлено полноэкранное наложение [закрыто]IOS

Программируем под IOS
Ответить
Anonymous
 Проблема нижнего разрыва мобильного устройства iOS с положением: исправлено полноэкранное наложение [закрыто]

Сообщение Anonymous »

Я боролся с досадной ошибкой пользовательского интерфейса на мобильных устройствах вот уже 4 дня, и мне действительно хотелось бы получить советы экспертов.
Ошибка (специфично для iOS — Chrome): Когда я прокручиваю страницу вниз, нижняя панель навигации iOS скрывается, расширяя фактическую область просмотра. Если в этом развернутом состоянии я нажму кнопку «Добавить в корзину», оверлей загрузки появится, но оставит видимый пробел в нижней части экрана. Он не может покрыть недавно расширенную область просмотра. (Если я прокручиваю вверх и нижняя панель видна, наложение работает отлично).
Вот изображение, демонстрирующее проблему: Нажмите здесь.
Что я пробовал до сих пор (и ничего не помогло):
  • Использование высоты: 100vh, 100dvh и высоты: 100%.
  • Закрепление сверху: 0; внизу: 0; слева: 0; right: 0; (и современная вставка: 0).
  • Внедрение наложения непосредственно в вместо , чтобы выйти из оболочек темы.
  • Использование элемента и .showModal() (верхний слой).
  • Массивная тень блока: 0 0 0 9999px rgba(...) хак для элемента div 0x0.
  • Блокировка прокрутки путем добавления переполнения: скрыто; touch-action: none; для и .
  • Динамический расчет точных размеров с помощью API window.visualViewport и применение их через JS.
Мое подозрение: Я подозреваю, что тема добавляет преобразование (например,translate3d) или переполнение: скрыто в #wrapper или body в тот момент, когда я нажимаю кнопку, чтобы подготовиться к мини-корзине вне холста. Это создает новый контекст стекирования, в результате чего мой оверлей Position:fixed ведет себя как позиция: Absolute относительно контейнера, который еще не полностью пересчитал свою высоту.
Вопрос: Как я могу заставить оверлей позиции: фиксированный действительно покрывать всю область просмотра iOS, игнорируя любые манипуляции с DOM (например, преобразование или переполнение), выполняемые темой во время события щелчка? Есть ли какие-либо обходные пути для этой конкретной задержки мутации области просмотра iOS + DOM?
Любая помощь будет принята с благодарностью!

Подробнее здесь: https://stackoverflow.com/questions/799 ... en-overlay
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «IOS»