Foros del Web » Creando para Internet » CSS »

[SOLUCIONADO] Evitar Scroll del body en dispositivos móviles

Estas en el tema de Evitar Scroll del body en dispositivos móviles en el foro de CSS en Foros del Web. Buenos días a todos! Estoy adaptando una página web a distintos dispositivos pero me estoy enfrentando a un problema... Mi página tiene en el body ...
  #1 (permalink)  
Antiguo 03/07/2013, 01:47
Avatar de madman_18  
Fecha de Ingreso: agosto-2010
Mensajes: 792
Antigüedad: 13 años, 8 meses
Puntos: 14
Pregunta Evitar Scroll del body en dispositivos móviles

Buenos días a todos!

Estoy adaptando una página web a distintos dispositivos pero me estoy enfrentando a un problema...

Mi página tiene en el body un overflow:hidden para que no aparezca el scroll, ahora bien, como el contenido puede ser bastante extenso, seguí el consejo que me disteis por aquí también en poner un contenedor con un height fijo y con scroll.

La cosa está en que cuando pruebo la página, me permite hacer el scroll del body y no entiendo por qué si el body tiene como propiedad de overflow:hidden

¿alguna idea? Gracias de antemano! ;)
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, te convertes en algo muy diferente"
  #2 (permalink)  
Antiguo 03/07/2013, 03:27
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Evitar Scroll del body en dispositivos móviles

Overflow sólo oculta contenido si el elemento tiene una medidas especificadas. ¿Pusiste esto?
  #3 (permalink)  
Antiguo 03/07/2013, 03:53
Avatar de madman_18  
Fecha de Ingreso: agosto-2010
Mensajes: 792
Antigüedad: 13 años, 8 meses
Puntos: 14
Respuesta: Evitar Scroll del body en dispositivos móviles

Cita:
Iniciado por pzin Ver Mensaje
Overflow sólo oculta contenido si el elemento tiene una medidas especificadas. ¿Pusiste esto?
Sí, tengo un contenedor (donde meto todo el contenido) y le asigno tanto un width como un height fijo.

Ahí no tengo el problema en sí ya que lo hace bien, lo que no sé qué ocurre en los dispositivos móviles que es como si
Código CSS:
Ver original
  1. body{overflow:hidden;}
no lo cogiese...

Si voy desplazandome hacia abajo, me va mostrando los divs que en teoría están "ocultos"
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, te convertes en algo muy diferente"
  #4 (permalink)  
Antiguo 03/07/2013, 03:57
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Evitar Scroll del body en dispositivos móviles

Pues en principio debería de ocurrir lo mismo que en un navegador de escritorio.

Pon el código HTML/CSS que estés utilizando, al menos el necesario para reproducir el problema.
  #5 (permalink)  
Antiguo 03/07/2013, 04:06
Avatar de madman_18  
Fecha de Ingreso: agosto-2010
Mensajes: 792
Antigüedad: 13 años, 8 meses
Puntos: 14
Respuesta: Evitar Scroll del body en dispositivos móviles

Cita:
Iniciado por pzin Ver Mensaje
Pues en principio debería de ocurrir lo mismo que en un navegador de escritorio.

Pon el código HTML/CSS que estés utilizando, al menos el necesario para reproducir el problema.
Me pillabas escribiendolo

Código HTML:
Ver original
  1.  
  2. <section class="contenedor">
  3. <article class="contenido">
  4. adsfasdfasdf
  5. <section class="contenedor">
  6. <article class="contenido">
  7. adsfasdfasdf
  8. </body>
  9. </html>
Código CSS:
Ver original
  1. body{
  2. overflow:hidden;
  3. }
  4. .contenedor{
  5. width:960px;
  6.     min-height: 100%;
  7.     height:auto;
  8.     margin: 0px auto;
  9.     padding: 115px 0 0px 0;
  10.     overflow:auto;
  11. }
  12. .contenido{
  13.     width:100%;
  14.     max-height:650px;
  15.     height:650px;
  16.     overflow: auto;
  17. }

Ahí está lo básico básico...en el @media-queries lo único que hago es variar el width del contenedor y el height del contenido.

Pd: lo que he puesto de texto y demás es ahora mismo de prueba ;)
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, te convertes en algo muy diferente"
  #6 (permalink)  
Antiguo 03/07/2013, 04:19
Avatar de madman_18  
Fecha de Ingreso: agosto-2010
Mensajes: 792
Antigüedad: 13 años, 8 meses
Puntos: 14
Respuesta: Evitar Scroll del body en dispositivos móviles

He encontrado algo....., para los móviles tanto body como html tienen que tener overflow:hidden;

Pero ahora tengo un problema....no se por qué, si le pongo el overflow:hidden también al tag html, el efecto jQuery que tengo para mostrar contenido de forma suave, no lo coge....
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, te convertes en algo muy diferente"
  #7 (permalink)  
Antiguo 03/07/2013, 04:20
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Evitar Scroll del body en dispositivos móviles

Cambia tu .contenedor, quítale min-height y height auto y déjalo al 100%:

Código CSS:
Ver original
  1. .contenedor{
  2.   width:960px;
  3.   height: 100%;
  4.   margin: 0px auto;
  5.   padding: 115px 0 0px 0;
  6.   overflow:auto;
  7. }

Es que si especificas que la altura mínima sea tanto y que la altura sea automática —que es el valor por defecto por cierto— entonces no hay nada que impida que crezca según el contenido.
  #8 (permalink)  
Antiguo 03/07/2013, 04:28
Avatar de madman_18  
Fecha de Ingreso: agosto-2010
Mensajes: 792
Antigüedad: 13 años, 8 meses
Puntos: 14
Respuesta: Evitar Scroll del body en dispositivos móviles

Gracias pzin ;) en ese aspecto ya funciona.... pero como mencionaba antes, haciendolo así me falla el jQuery que tengo para que desplace los contenidos......... habrá que cambiar de CSS a jQuery el tema del post creo, porque en una primera versión me ocurría lo mismo y no encontraba cómo solucionarlo
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, te convertes en algo muy diferente"
  #9 (permalink)  
Antiguo 03/07/2013, 04:44
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.488
Antigüedad: 21 años, 8 meses
Puntos: 2114
Respuesta: Evitar Scroll del body en dispositivos móviles

Yo haría otra cosa, si me permites.

Pondría un contenedor global y jugaría con la altura.

Código HTML:
Ver original
  1.   <section>
  2.     <article></article>
  3.     <article></article>
  4.   </section>
  5. </body>
  6. </html>

Código CSS:
Ver original
  1. html, body {
  2.   height: 100%;
  3. }
  4.  
  5. body {
  6.   overflow: hidden;
  7. }
  8.  
  9. section {
  10.   height: 200%;
  11. }
  12.  
  13. article {
  14.   height: 50%;
  15. }

El contenedor, section, va a tener la altura de 100% * la cantidad de artículos que hayan, y cada artículo tendrá una altura de 100% / la cantidad de artículos que hayan. Si hubiesen 20 artículos, entonces section mediría 2000% y cada artículo 5%.

Así puedes usar el scroll sin problemas.
  #10 (permalink)  
Antiguo 03/07/2013, 04:53
Avatar de madman_18  
Fecha de Ingreso: agosto-2010
Mensajes: 792
Antigüedad: 13 años, 8 meses
Puntos: 14
Respuesta: Evitar Scroll del body en dispositivos móviles

Cita:
Iniciado por pzin Ver Mensaje
Yo haría otra cosa, si me permites.

Pondría un contenedor global y jugaría con la altura.

Código HTML:
Ver original
  1.   <section>
  2.     <article></article>
  3.     <article></article>
  4.   </section>
  5. </body>
  6. </html>

Código CSS:
Ver original
  1. html, body {
  2.   height: 100%;
  3. }
  4.  
  5. body {
  6.   overflow: hidden;
  7. }
  8.  
  9. section {
  10.   height: 200%;
  11. }
  12.  
  13. article {
  14.   height: 50%;
  15. }

El contenedor, section, va a tener la altura de 100% * la cantidad de artículos que hayan, y cada artículo tendrá una altura de 100% / la cantidad de artículos que hayan. Si hubiesen 20 artículos, entonces section mediría 2000% y cada artículo 5%.

Así puedes usar el scroll sin problemas.
Interesante..... haré algunas pruebas a ver qué tal funciona Gracias por la ayuda ;)
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, te convertes en algo muy diferente"
  #11 (permalink)  
Antiguo 04/07/2013, 00:08
Avatar de madman_18  
Fecha de Ingreso: agosto-2010
Mensajes: 792
Antigüedad: 13 años, 8 meses
Puntos: 14
Respuesta: Evitar Scroll del body en dispositivos móviles

La verdad es que funciona ahora el scroll sin problemas ;)

Muchas gracias!
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, te convertes en algo muy diferente"

Etiquetas: contenido, overflow, scroll
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 11:15.