В Chrome для Mac можно «пролистать» страницу (из-за отсутствия лучшего слова), как показано на скриншоте ниже, чтобы увидеть, «что позади», аналогично iPad или iPhone.
Я заметил, что на некоторых страницах он отключен, например, в Gmail и на странице «Новая вкладка».
Как отключить "перескроллинг"? Есть ли другие способы, которыми я могу управлять "чрезмерной прокруткой"?
html
css
macos
google-chrome
Randomblue
источник
источник
Ответы:
Принятое решение не сработало для меня. Единственный способ заставить его работать, все еще имея возможность прокрутки, - это:
источник
html
стиль, так и для мобильных веб-браузеров, которые смотрят на полное переполнениеbody
без учета установленной высотыhtml
.$(window).scrollTop
?window.scrollY
всегда0
.В Chrome 63+, Firefox 59+ и Opera 50+ вы можете сделать это в CSS:
Это отключает эффект резиновой ленты на iOS, показанный на снимке экрана с вопросом. Однако он также отключает оттягивание для обновления, эффекты свечения и цепочку прокрутки.
Однако вы можете реализовать свой собственный эффект или функциональность при чрезмерной прокрутке. Если вы, например, хотите размыть страницу и добавить аккуратную анимацию:
Поддержка браузера
На момент написания этой статьи Chrome 63+, Firefox 59+ и Opera 50+ поддерживают его. Edge публично поддержал его, в то время как Safari неизвестен. Отслеживайте прогресс здесь и текущую совместимость браузеров в документации MDN.
Больше информации
overscroll-behavior
Спецификация CSSисточник
Один из способов предотвратить это - использовать следующий CSS:
Таким образом, тело никогда не переполняется и не «подпрыгивает» при прокрутке вверху и внизу страницы. Контейнер будет отлично прокручивать свое содержимое внутри. Это работает в Safari и в Chrome.
редактировать
Почему дополнительный
<div>
-элемент в качестве оболочки может быть полезен:решение Флориана Фельдхауса использует немного меньше кода и отлично работает. Однако он может иметь небольшую причуду, когда речь идет о содержимом, превышающем ширину области просмотра. В этом случае полоса прокрутки в нижней части окна перемещена из области просмотра на полпути, и ее трудно распознать / дотянуться. Этого можно избежать,
body { margin: 0; }
если применимо. В ситуации, когда вы не можете добавить этот CSS, полезен элемент-оболочка, поскольку полоса прокрутки всегда полностью видна.Найдите скриншот ниже:
источник
Попробуйте так
источник
Вы можете использовать этот код для удаления
touchmove
предопределенного действия:источник
источник
position: fixed
это спаситель!position: absolute
работает для меня. Я тестировалChrome 50.0.2661.75 (64-bit)
и OSX.источник
Эффект отскока нельзя отключить, за исключением того, что высота веб-страницы равна
window.innerHeight
, вы можете разрешить прокрутку подэлементов.источник