¿Se overflow:hidden
aplica para <body>
trabajar en iPhone Safari? Parece que no. No puedo crear un contenedor en todo el sitio web para lograr eso ...
¿Conoces la solución?
Ejemplo: tengo una página larga, y simplemente quiero ocultar el contenido que se encuentra debajo del "pliegue", y debería funcionar en iPhone / iPad.
Respuestas:
Tenía un problema similar y se encontró que la aplicación
overflow: hidden;
de amboshtml
ybody
resuelto mi problema.Para iOS 9, es posible que deba usar esto en su lugar: (¡Gracias chaenu!)
fuente
position: relative
.fuente
Algunas soluciones enumeradas aquí tenían algunos problemas técnicos extraños al estirar el desplazamiento elástico. Para arreglar eso usé:
Fuente: http://www.teamtownend.com/2013/07/ios-prevent-scrolling-on-body/
fuente
position: relative
) sin embargo, la posición de desplazamiento se pierde después de restaurar el estilo predeterminado (por ejemplo, cerrar el menú).// on menu open // save window pos $('body').attr( 'data-pos', $(window).scrollTop() ) ; // ... // on menu close // scroll to saved window pos $( window ).scrollTop( $('body').attr( 'data-pos' ) );
Tuve este problema hoy en iOS 8 y 9 y parece que ahora necesitamos agregar altura: 100%;
Entonces agregue
fuente
Combinando las respuestas y comentarios aquí y esta pregunta similar aquí funcionó para mí.
Entonces publicando como una respuesta completa.
A continuación, le indicamos cómo debe colocar un contenedor de división alrededor del contenido de su sitio, justo dentro de la
<body>
etiqueta.Cree la clase de contenedor como se muestra a continuación.
También obtuve la idea de esta respuesta aquí .
Y esta respuesta aquí también tiene algo de reflexión. Algo que probablemente funcionará igual de bien tanto en computadoras de escritorio como en dispositivos.
fuente
Está funcionando en el navegador Safari.
fuente
Para mi esto:
No fue suficiente, no funcioné en iOS en Safari. También tuve que agregar:
Para que funcione bien. Funciona bien ahora :)
fuente
He trabajado con
<body>
y<div class="wrapper">
Cuando se abre una ventana emergente ...
<body>
obtiene una altura del 100% y un desbordamiento: oculto<div class="wrapper">
obtiene posición: relativa; desbordamiento: oculto; altura: 100%;Uso JS / jQuery para obtener la posición de desplazamiento real de la página y almacenar el valor como atributo de datos al cuerpo
Luego me desplazo a la posición de desplazamiento en el DIV .wrapper (no en la ventana)
Aquí está mi solución:
JS / jQuery:
CSS:
Funciona bien en ambos lados ... escritorio y móvil (iOS).
Sugerencias y mejoras son bienvenidas :)
¡Salud!
fuente
agregue esto como predeterminado a su CSS
alternar Clasifica esta clase para cortar la página
cuando apaga esta clase, la primera línea volverá a llamar a la barra de desplazamiento
fuente
Sí, esto está relacionado con nuevas actualizaciones en safari que están rompiendo su diseño ahora si usa desbordamiento: oculto para encargarse de borrar divs.
fuente
Se aplica, pero solo se aplica a ciertos elementos dentro del DOM. por ejemplo, no funcionará en una tabla, td u otros elementos, pero funcionará en una etiqueta <DIV>.
p.ej:
Solo probado en iOS 4.3.
Una edición menor: puede que sea mejor usar desbordamiento: desplazarse para que funcione el desplazamiento de dos dedos.
fuente
¿Por qué no envolver el contenido que no desea que se muestre en un elemento con una clase y establecer esa clase
display:none
en una hoja de estilo destinada solo para el iPhone y otros dispositivos portátiles?fuente
Esto es lo que hice: compruebo la posición y del cuerpo, luego lo fijo y ajusto la parte superior al negativo de esa posición. En reversa, hago que el cuerpo esté estático y establezco el desplazamiento al valor que grabé antes.
fuente
Simplemente cambie la altura del cuerpo <300 px (la altura de la vista móvil en el espacio terrestre oscila entre 300 px y 500 px)
JS
CSS
fuente