Проблема с нижним зазором Chrome в iOS 26: положение: фиксированное наложение не покрывает всю высоту во время добавлениIOS

Программируем под IOS
Ответить
Anonymous
 Проблема с нижним зазором Chrome в iOS 26: положение: фиксированное наложение не покрывает всю высоту во время добавлени

Сообщение Anonymous »

Я борюсь с досадной ошибкой пользовательского интерфейса на мобильных устройствах уже 4 дня, и мне бы очень пригодились советы экспертов.
Установка:
  • WordPress с WooCommerce.
  • Тема: Flatsome.
  • Пользовательский AJAX Скрипт добавления в корзину.
  • Настраиваемое полноэкранное наложение загрузки (

    Код: Выделить всё

    position: fixed
    ), срабатывающий во время запроса AJAX.
Ошибка (специфично для 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.
Мое подозрение: Я подозреваю, что Flatsome добавляет преобразование (например, Translate3d) или переполнение: скрыто в #wrapper или body в тот момент, когда я нажимаю кнопку, чтобы подготовиться к мини-корзине вне холста. Это создает новый контекст стекирования, в результате чего мое наложение Position:fixed ведет себя как позиция: Absolute относительно контейнера, который еще не полностью пересчитал свою высоту.
Вопрос: Как я могу заставить наложение Position: fix действительно покрывать всю область просмотра iOS, игнорируя любые манипуляции с DOM (например, преобразование или переполнение), выполняемые темой Flatsome во время события щелчка? Существуют ли какие-либо обходные пути для этой конкретной области просмотра iOS + задержка мутации DOM?
Любая помощь будет принята с благодарностью!

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

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

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

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

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

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