Estoy construyendo un portal web que tiene que ser funcional y bonito en múltiples plataformas. Una de las plataformas es IOS Safari, y aquí es donde encontré un problema. En mi código, alineo dos botones flotantes en la parte inferior de un div con un ancho y una altura del 100%. Todo funciona bien y mis botones aparecen exactamente como se supone que deben aparecer en la parte inferior de la página. Sin embargo, cuando hago clic en los botones, la vista compacta de safari móvil cambia a vista completa y mis botones están ocultos detrás de la barra de navegación inferior.
¿Es normal que safari mobile muestre el menú expandido cuando el usuario toca el 10 % inferior de la pantalla? ¿Cómo puedo evitar esto?
En este gif puedes ver el problema en el simulador de IOS:
Como puedes ver, el problema solo ocurre cuando un botón está en el 10% inferior de la vista. Este es solo un botón normal. Mi código fue revisado tres veces por varios desarrolladores y no tiene errores.
Este es un comportamiento normal en Mobile Safari, tocar en la parte inferior mostrará las diversas opciones del navegador y desplazará la página web hacia arriba en consecuencia. Sin embargo, la funcionalidad de la página web sigue siendo la misma, por lo que el usuario aún puede tocar el botón después de desplazarse para acceder a cualquier funcionalidad que tenga.
Creo que pude haber encontrado una respuesta. Configuración de su contenido para tener los siguientes estilos:
height: 100%
(permite que el contenido llene la ventana gráfica y vaya más allá de la parte inferior)overflow-y: scroll
(le permite desplazarse por debajo de la ventana gráfica; el valor predeterminado es visible
)-webkit-overflow-scrolling: touch
(para suavizar cualquier comportamiento de desplazamiento)parece forzar que el menú de iOS en Safari aparezca siempre. De esa manera, los clics en los botones funcionarán en lugar de abrir el menú Safari. ¡Espero que esto ayude!
overflow-y: scroll
en su área de contenido principal. Este truco tiene efectos secundarios que afectarán a todos sus elementos secundarios. Para decirlo de manera más correcta, estas propiedades css afectan directamente a todos los elementos secundarios y obligar a que se muestre el menú de safari es en realidad el efecto secundario.height: 100%
que lo contienen. Para una empresa que gana mucho dinero con dispositivos móviles, su experiencia web móvil es horrible.
bmike
puro
Antonio