En Chrome para Mac, uno puede "desplazarse demasiado" por una página (a falta de una palabra mejor), como se muestra en la captura de pantalla a continuación, para ver "qué hay detrás", similar al iPad o iPhone.
He notado que algunas páginas lo tienen deshabilitado, como Gmail y la página "Nueva pestaña".
¿Cómo puedo desactivar el "desplazamiento excesivo"? ¿Hay otras formas de controlar el "desplazamiento excesivo"?
html
css
macos
google-chrome
Randomblue
fuente
fuente
Respuestas:
La solución aceptada no me funcionó. La única forma en que lo hice funcionar sin dejar de poder desplazarme es:
fuente
html
truco de estilo como para los navegadores web móviles que observan el desbordamiento completo debody
ignorar la altura a la quehtml
se estableció.$(window).scrollTop
?window.scrollY
es siempre0
.En Chrome 63+, Firefox 59+ y Opera 50+ puedes hacer esto en CSS:
Esto desactiva el efecto de goma elástica en iOS que se muestra en la captura de pantalla de la pregunta. Sin embargo, también deshabilita la función de extracción para actualizar, los efectos de brillo y el encadenamiento de desplazamiento.
Sin embargo, puede optar por implementar su propio efecto o funcionalidad al realizar el desplazamiento excesivo. Si, por ejemplo, desea difuminar la página y agregar una animación ordenada:
Soporte del navegador
En el momento de escribir estas líneas, Chrome 63+, Firefox 59+ y Opera 50+ lo admiten. Edge lo apoyó públicamente, mientras que Safari es un desconocido. Siga el progreso aquí y la compatibilidad actual del navegador en la documentación de MDN
Más información
overscroll-behavior
Especificación CSSfuente
Una forma de evitar esto es utilizando el siguiente CSS:
De esta forma, el cuerpo nunca se desbordará y no "rebotará" al desplazarse por la parte superior e inferior de la página. El contenedor desplazará perfectamente su contenido dentro. Esto funciona en Safari y Chrome.
Editar
Por qué el elemento adicional
<div>
como envoltorio podría ser útil:la solución de Florian Feldhaus usa un poco menos de código y también funciona bien. Sin embargo, puede tener un poco de peculiaridad cuando se trata de contenido que excede el ancho de la ventana gráfica. En este caso, la barra de desplazamiento en la parte inferior de la ventana se mueve fuera de la ventana gráfica hasta la mitad y es difícil de reconocer / alcanzar. Esto se puede evitar usar
body { margin: 0; }
si es adecuado. En una situación en la que no puede agregar este CSS, el elemento contenedor es útil ya que la barra de desplazamiento siempre está completamente visible.Encuentre una captura de pantalla a continuación:
fuente
Puede utilizar este código para eliminar la
touchmove
acción predefinida:fuente
fuente
position: fixed
es el salvador!Prueba de esta manera
fuente
position: absolute
funciona para mi. He probado enChrome 50.0.2661.75 (64-bit)
y OSX.fuente
El efecto de rebote no se puede deshabilitar excepto que la altura de la página web sea igual a
window.innerHeight
, puede dejar que sus subelementos se desplacen.fuente