В iOS, когда элемент внутри элемента с установленным -webkit-overflow-scrolling: touch
позиционируется абсолютно (или fixed
) относительно элемента вне контейнера прокрутки, элемент отображается только один раз, и рендеринг не обновляется, поскольку элемент прокручивается Пример HTML:
<div class="relative-to-me">
<div class="scrollable">
<div class="absolutely-positioned">
</div>
</div>
</div>
Если принудительно выполнить повторный рендеринг, изменив свойство CSS (например, в инспекторе), вы увидите, что позиционирование элемента повторно отображается в правильное местоположение. Я подозреваю, что это результат некоторых функций производительности для оптимизации прокрутки.
Решением этой проблемы является установка will-change: transform
для абсолютно (или фиксированного) позиционного элемента.
.absolutely-positioned {
will-change: transform;
}