Есть ли решение для ошибки -webkit-overflow-scrolling «когда прокрутка в неправильном направлении изначально, тогда прокрутка застрянет на мгновение» - PullRequest
0 голосов
/ 07 апреля 2019

У меня фиксированный <div> с overflow-y: auto; и -webkit-overflow-scrolling: touch;. До сих пор работает нормально на iOS, но не при прокрутке в неправильном направлении (если пользователь пытается прокрутить вверх, но находится вверху содержимого div или же внизу): тогда Safari, похоже, видит прокрутку <body> как более важно и отключает прокрутку в <div> на мгновение . Если пользователь не ждет ни минуты, прокрутить вниз можно в <div>. При прокрутке в правильном направлении в <div> изначально все отлично работает.

Такое ощущение, что прокрутка в <div> отключена, пока будет происходить переход прокрутки тела. Поэтому я попытался отключить -webkit-overflow-scrolling для элемента body / html. Еще не решил проблему.

Это CSS, который я использовал. HTML это просто div с большим количеством текста в теле.

html, body {
    /* this seems not to solve the problem */
    overflow: hidden;
    -webkit-overflow-scrolling: auto;
}

.scrollable-div {
    overflow-x: hidden;
    overflow-y: auto;
    -webkit-overflow-scrolling: touch;

    /* div has a fixed position */
    position: fixed;
    top: 3em;
    right: 3em;
    bottom: 3em;
    left: 3em;

    /* just for styling */
    background-color: #999999;
}

На самом деле прокрутка переполнения webkit, похоже, не работает, если вы изначально выполняете прокрутку в неправильном направлении, и снова будет работать нормально только после некоторого ожидания. Трудно поверить, что во всем Интернете никто, кажется, не описывает эту проблему, но не говоря уже о ее решении.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...