Почему это переполнение: скрыто; не работает в сафари? И как это исправить, не теряя положения прокрутки? ⇐ CSS

Разбираемся в CSS
Anonymous
Почему это переполнение: скрыто; не работает в сафари? И как это исправить, не теряя положения прокрутки?

Сообщение Anonymous »


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

// Function to handle opening the search
window.handleCustomSearchOpen = function () {
document.body.classList.add('opensearchpanel');
};

// Function to handle closing the search
window.handleCustomSearchClose = function () {
console.log("Search closed", scrollY);
document.body.classList.remove('opensearchpanel');
};

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

.opensearchpanel {
overflow: hidden;
position: fixed;
height: 100%;
width: 100%;
}


На мобильном телефоне у меня есть панель поиска, и когда она открывается, она добавляет класс «opensearchpanel». В котором я использую переполнение: скрыто; и он работает должным образом в Chrome и Android, исправив прокрутку. Но в Safari это не работает, и чтобы это исправить, я добавил
Он исправил проблему с прокруткой, но теперь, добавив его, я теряю позицию прокрутки в той позиции, где находился пользователь, она прокручивается экран вверх, и я этого не хочу. Я хочу, чтобы где бы ни находился пользователь, он должен был находиться на своем месте на экране, и экран должен зависать, что означает, что он не должен прокручиваться до тех пор, пока поиск не будет закрыт.
Я также использовал положение: относительное ; вместо фиксированного

Подробнее здесь: https://stackoverflow.com/questions/793 ... -way-to-fi

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