Foros del Web » Creando para Internet » CSS »

Media queries, no aparece el scroll

Estas en el tema de Media queries, no aparece el scroll en el foro de CSS en Foros del Web. Buenas, estoy actualizando mi web para que sea adaptada a todo tipo de dispositivos. Y me he encontrado con el problema que cuando se adapta ...
  #1 (permalink)  
Antiguo 02/07/2013, 15:16
 
Fecha de Ingreso: febrero-2010
Mensajes: 49
Antigüedad: 14 años, 9 meses
Puntos: 0
Media queries, no aparece el scroll

Buenas, estoy actualizando mi web para que sea adaptada a todo tipo de dispositivos. Y me he encontrado con el problema que cuando se adapta a la versión móvil no me aparece el scroll para mostrar el contenido. He probado con la propiedad overflow y todo lo que se me ha ocurrido, a ver si me podéis echar una mano.

Código HTML:
<!DOCTYPE html>
<html>
<head>
	<meta charset="utf-8">
	<link rel="shortcut icon" href="favicon.ico"/>
	<script src="http://ajax.googleapis.com/ajax/libs/jquery/1/jquery.min.js"></script>
    <script src="galleria/galleria-1.2.9.min.js"></script>
<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
<link rel="stylesheet" type="text/css" href="css/mobile.css" media="only screen and (max-width: 480px)" />
<link rel="stylesheet" type="text/css" href="css/main.css" media="only screen and (min-width: 481px)" />
<link rel="stylesheet" type="text/css" href="css/main.css" media="all" />
</head>	
<body>
	<div id="galleria">
        <img src="images/inicio/1.jpg">
		<img src="images/inicio/2.jpg">
		<img src="images/inicio/3.jpg">
		<img src="images/inicio/4.jpg">
		<img src="images/inicio/5.jpg">
		<img src="images/inicio/6.jpg">
		<img src="images/inicio/7.jpg">
		<img src="images/inicio/8.jpg">
		<img src="images/inicio/9.jpg">
		<img src="images/inicio/10.jpg">
		<img src="images/inicio/11.jpg">
		<img src="images/inicio/12.jpg">
    </div>
	<div class="logo"><a href="/"></a></div>
	<div id="rights" class="rights">2013&copy;</div>
	<nav class="mobil">
        <ul>
			<li><a href="selected.html">SELECTED</a></li>
			<li><a href="editorial">EDITORIAL</a></li>
			<li><a href="adv">ADV</a></li>
			<li><a href="personal">PERSONAL</a></li>
			<li><a class="espacio" href="makingof">MAKING OF</a></li>
			<li><a href="about.html">ABOUT</a></li>
            <li><a href="contact.html">CONTACT</a></li>
        </ul>
    </nav> 
	<div class="social">
			<a href="http://facebook.com/"><img src="images/facebook.png" alt="Facebook" /></a>
			<a href="http://twitter.com/"><img src="images/twitter.png" alt="Twitter" /></a>
			<a href="http://vimeo.com"><img src="images/vimeo.png" alt="Vimeo" /></a>
			<a href="index.html"><img src="images/youtube.png" alt="Youtube" /></a>
			<a href="index.html"><img src="images/tumblr.png" alt="Tumblr" /></a>
			<a href="index.html"><img src="images/instagram.png" alt="Instagram" /></a>
	</div>
    <script>
    Galleria.loadTheme('galleria/themes/fullscreen/galleria.fullscreen.min.js');
	Galleria.run('#galleria', {
    transition: 'fade',
	autoplay: 2000,
	transitionSpeed: 1000,
    imageCrop: true,
	thumbnails: 'false',
});
    </script>
<script type="text/javascript">document.oncontextmenu = function(){return false}</script>
</body></html> 
Código HTML:
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,dl,dt,dd,ol,nav ul,nav li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}
article, aside, details, figcaption, figure,footer, header, hgroup, menu, nav, section {display: block;}
ol,ul{list-style:none;}
blockquote,q{quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}
table{border-collapse:collapse;border-spacing:0;}
a{text-decoration:none;}
body { -webkit-font-smoothing: antialiased; }
@font-face {
    font-family: 'BebasNeueRegular';
    src: url('font/BebasNeue-webfont.eot');
    src: url('font/BebasNeue-webfont.eot?#iefix') format('embedded-opentype'),
         url('font/BebasNeue-webfont.woff') format('woff'),
         url('font/BebasNeue-webfont.ttf') format('truetype'),
         url('font/BebasNeue-webfont.svg#BebasNeueRegular') format('svg');
    font-weight: normal;
    font-style: normal;

}
@font-face {
    font-family: 'PTSansCaptionRegular';
    src: url('font/PTC55F-webfont.eot');
    src: url('font/PTC55F-webfont.eot?#iefix') format('embedded-opentype'),
         url('font/PTC55F-webfont.woff') format('woff'),
         url('font/PTC55F-webfont.ttf') format('truetype'),
         url('font/PTC55F-webfont.svg#PTSansCaptionRegular') format('svg');
    font-weight: normal;
    font-style: normal;

}
#rights {
	font-family: 'TimesNewRoman';
	font-size: 12px;
	color:#777777;
	text-shadow: 1px 1px 0 rgba(119,119,119,0.3);
	position: absolute;
	right: 9px;
	bottom: 44px;
	z-index: 9999999;
}
nav {
	font-family: 'BebasNeueRegular', 'MoolBoran';
	font-size: 36px; letter-spacing: 1px;
    background-color: #050505;
    position: fixed;
	height: 40px;
    bottom: 0;
	padding-left: 10px;
    width: 100%;
	text-align:center;
	z-index: 9999999;
}
nav ul {
    margin: auto;
}
nav ul li {
    line-height: 40px;
    display: inline-block;
    padding-right: 20px;
	padding-top: 3px;
}
nav ul li a {
    color: #fff;
}
nav ul li a:hover {
    color:#777777;
}
a.espacio { padding-left: 30px }
.social {
	position: relative;
	float: right;
	padding: 4px 4px;
	z-index: 9999999;
}
.social a:hover { 
	filter: alpha(opacity=50);
    -khtml-opacity: 0.5;
    -moz-opacity: 0.5; 
    opacity: 0.5; 
    -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=50)"; }
.galleria-image-nav { display: none; }
@media screen and (min-width:1600px){  
.social {
	position: absolute;
	padding: 0;
	padding-left: 5px;
	bottom: 0; }
}
@media screen and (max-width:920px){ 
a.espacio { padding-left: 0 }
nav { font-size: 29px; }}
@media screen and (max-width:800px){ 
nav { font-size: 26px; }}
@media screen and (max-width:720px){
#rights { font-size: 9px;}
nav { font-size: 20px; 	padding-left: 8px;}}
@media screen and (max-width:580px){ 
nav { font-size: 15px; }}
Código HTML:
html,body,div,span,applet,object,iframe,h1,h2,h3,h4,h5,h6,p,blockquote,pre,a,abbr,acronym,address,big,cite,code,del,dfn,em,img,ins,kbd,q,s,samp,small,strike,strong,sub,sup,tt,var,b,u,i,dl,dt,dd,ol,nav ul,nav li,fieldset,form,label,legend,table,caption,tbody,tfoot,thead,tr,th,td,article,aside,canvas,details,embed,figure,figcaption,footer,header,hgroup,menu,nav,output,ruby,section,summary,time,mark,audio,video{margin:0;padding:0;border:0;font-size:100%;font:inherit;vertical-align:baseline;}
article, aside, details, figcaption, figure,footer, header, hgroup, menu, nav, section {display: block;}
ol,ul{list-style:none;}
blockquote,q{quotes:none;}
blockquote:before,blockquote:after,q:before,q:after{content:'';content:none;}
table{border-collapse:collapse;border-spacing:0;}
body{ background-color: #050505; overflow: scroll; }
#galleria,.galleria-container { display: none;}
a.espacio { padding-left: 0px }
nav.mobil {
	font-family: 'BebasNeueRegular', 'MoolBoran';
	font-size: 36px; letter-spacing: 1px;
    background-color: #050505;
    position: relative;
	height: auto;
	margin-top: 20px;
    width: 100%;
}
nav.mobil ul li {
    display: block;
}
.social {
    position: relative;
    width: 100%;
	text-align:center;
	margin-top: 10px;
	margin-bottom: 20px;
 }
#rights {
display: none;
position: relative;
display: none;
right: auto;
bottom: auto;
}
.logo { 
	position: relative;
	margin-top: 20px;
    width: 100%;
	z-index: 9999999;
	background: url(../images/logo.png) center no-repeat;
	width: 248x; 
    height: 143px;
	}
  #2 (permalink)  
Antiguo 03/07/2013, 01:41
Avatar de madman_18  
Fecha de Ingreso: agosto-2010
Mensajes: 792
Antigüedad: 14 años, 3 meses
Puntos: 14
Respuesta: Media queries, no aparece el scroll

¿A lo que te refieres es que tienes el "scroll" del contenido (te tienes que desplazar hacia abajo pero no se te ve la barrita de scroll no?

Por defecto, los teléfonos móviles (al menos los que he podido probar) no les aparece el scroll a no ser que te vayas desplazando hacia abajo (en iPhone por ejemplo, te desplazas hacia abajo, aparece el scroll negro típico de iPhone y cuando dejas de mover el contenido desaparece).

Si no es eso....¿a qué bloque quieres aplicarlo? Quizás no tenga un height fijo y por eso al hacer el overflow no te hace scroll
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, te convertes en algo muy diferente"
  #3 (permalink)  
Antiguo 03/07/2013, 03:35
Avatar de pzin
Moderata 😈
 
Fecha de Ingreso: julio-2002
Ubicación: Islas Canarias
Mensajes: 10.489
Antigüedad: 22 años, 3 meses
Puntos: 2114
Respuesta: Media queries, no aparece el scroll

Pues probando el código que das funciona. ¿Usas algo más de código que no hayas puesto?

El reset ese, ¿lo metes dos veces? No hace falta ponerlo dos veces, con una vez vale.
  #4 (permalink)  
Antiguo 03/07/2013, 06:52
 
Fecha de Ingreso: febrero-2010
Mensajes: 49
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Media queries, no aparece el scroll

Cita:
Iniciado por madman_18 Ver Mensaje
¿A lo que te refieres es que tienes el "scroll" del contenido (te tienes que desplazar hacia abajo pero no se te ve la barrita de scroll no?

Por defecto, los teléfonos móviles (al menos los que he podido probar) no les aparece el scroll a no ser que te vayas desplazando hacia abajo (en iPhone por ejemplo, te desplazas hacia abajo, aparece el scroll negro típico de iPhone y cuando dejas de mover el contenido desaparece).

Si no es eso....¿a qué bloque quieres aplicarlo? Quizás no tenga un height fijo y por eso al hacer el overflow no te hace scroll
Creo que no me he explicado bien. Lo que realmente quiero decir es que cuando abro la web en pruebas en un dispositivo movil con android por ejemplo (con opera mini funciona) se queda bloqueada la pagina y no consigo que me haga scroll hacia abajo. Creo pensar que es porque tiene un pase de diapositivas de background que introduzco con el plugin galleria. Son imágenes de gran tamaño y pueden hacer que se bloquee la carga en movil. Aunque para la versión movil hago desaparecer dicho carrusel background con display: none, que no se vea no quiere decir que no lo cargue, hay algún código que me permita cargar o no los javascript dependiendo del tamaño de ancho máximo?

Cita:
Iniciado por pzin Ver Mensaje
Pues probando el código que das funciona. ¿Usas algo más de código que no hayas puesto?

El reset ese, ¿lo metes dos veces? No hace falta ponerlo dos veces, con una vez vale.
El único código que no he puesto es el de los meta tags y google analytics para reducir aquí el código que creo que no afecta nada al código en si.
Con el reset a que te refieres?

Para pruebas movil utilizo emuladores como www.manymo.com a parte de un pequeño movil android que tengo.

Un saludo y muchas gracias
  #5 (permalink)  
Antiguo 04/07/2013, 00:21
Avatar de madman_18  
Fecha de Ingreso: agosto-2010
Mensajes: 792
Antigüedad: 14 años, 3 meses
Puntos: 14
Respuesta: Media queries, no aparece el scroll

Cita:
Iniciado por Pejigo Ver Mensaje
Creo que no me he explicado bien. Lo que realmente quiero decir es que cuando abro la web en pruebas en un dispositivo movil con android por ejemplo (con opera mini funciona) se queda bloqueada la pagina y no consigo que me haga scroll hacia abajo. Creo pensar que es porque tiene un pase de diapositivas de background que introduzco con el plugin galleria. Son imágenes de gran tamaño y pueden hacer que se bloquee la carga en movil. Aunque para la versión movil hago desaparecer dicho carrusel background con display: none, que no se vea no quiere decir que no lo cargue, hay algún código que me permita cargar o no los javascript dependiendo del tamaño de ancho máximo?



El único código que no he puesto es el de los meta tags y google analytics para reducir aquí el código que creo que no afecta nada al código en si.
Con el reset a que te refieres?

Para pruebas movil utilizo emuladores como www.manymo.com a parte de un pequeño movil android que tengo.

Un saludo y muchas gracias
Sí, te entendí mal, perdona

En cuanto a lo que comentas:

- Si tu página está construida sobre php te recomentaría que buscases Mobile Detection (no recuerdo el enlace por eso no te lo pongo), que te da si se está visualizando sobre una tablet, un teléfono, pc....te sería útil a la hora de no cargar contenido para el móvil en vez de el display:none, que lo que te haría sería cargarlo pero no permitir que se vea.
Así podrías ver si realmente es ese carrusel de background lo que te hace que sobrecarge la página y no te permita funcionar correctamente.

- Los meta tendrías que poner estos:

Código HTML:
Ver original
  1. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  2.  <meta name="apple-mobile-web-app-capable" content="yes">
  3.  <meta name="apple-mobile-web-app-status-bar-style" content="black">

Para que te reconozca los estilos movil (supongo que ya lo tendrás puesto)....

Otra cosa que a mí me sirve cuando estoy atascado, es coger una página de prueba, hacerla con la estructura que yo quiero e ir montandola poco a poco (sin quebrarme los cascos con estilos etc etc) y ver si tengo un fallo en mi estructura o puede ser por otra cosa

Ya nos dices!
__________________
"Si consigues ser algo más que un hombre, si te entregas a un ideal, te convertes en algo muy diferente"
  #6 (permalink)  
Antiguo 04/07/2013, 04:56
 
Fecha de Ingreso: febrero-2010
Mensajes: 49
Antigüedad: 14 años, 9 meses
Puntos: 0
Respuesta: Media queries, no aparece el scroll

Cita:
Iniciado por madman_18 Ver Mensaje
Sí, te entendí mal, perdona

En cuanto a lo que comentas:

- Si tu página está construida sobre php te recomentaría que buscases Mobile Detection (no recuerdo el enlace por eso no te lo pongo), que te da si se está visualizando sobre una tablet, un teléfono, pc....te sería útil a la hora de no cargar contenido para el móvil en vez de el display:none, que lo que te haría sería cargarlo pero no permitir que se vea.
Así podrías ver si realmente es ese carrusel de background lo que te hace que sobrecarge la página y no te permita funcionar correctamente.

- Los meta tendrías que poner estos:

Código HTML:
Ver original
  1. <meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1">
  2.  <meta name="apple-mobile-web-app-capable" content="yes">
  3.  <meta name="apple-mobile-web-app-status-bar-style" content="black">

Para que te reconozca los estilos movil (supongo que ya lo tendrás puesto)....

Otra cosa que a mí me sirve cuando estoy atascado, es coger una página de prueba, hacerla con la estructura que yo quiero e ir montandola poco a poco (sin quebrarme los cascos con estilos etc etc) y ver si tengo un fallo en mi estructura o puede ser por otra cosa

Ya nos dices!
- Los meta que uso son estos;
Código HTML:
 <meta http-equiv="Content-type" content="application/xhtml+xml;charset=UTF-8" />
	<meta http-equiv="Cache-control" content="public"/>
	<meta name="viewport" content="width=device-width, initial-scale=1, maximum-scale=1"/>
	<meta name="handheldfriendly" content="true"/> 
En los dos últimos que has puestos son exclusivos para dispositivos apple? el último de todos veo que es par que esconda las barras de la interfaz, no?

- Está construida sobre html, así que no se si tiene solución al estar cargadas las imágenes dentro de un div. Antes usaba otro carrusel que me las cargaba por javascript, supersized.
Ahí puede ser que se pueda hacer algo.

En cuanto que detecte si es un móvil creo que te puedes referir a algo como esto;
Código:
 var isMobile = function() {
   console.log("Navigator: " + navigator.userAgent);
   return /(iphone|ipod|ipad|android|blackberry|windows ce|palm|symbian)/i.test(navigator.userAgent);
 };
El problema es que esto es para detectar todos los dispositivos móviles y me gustaría que se viera la web completa en dispositivos con cierta resolución en los que estarían los tablets y la reducida en móviles con pantalla más pequeña.
A todo esto he llegado a la conclusión de si puede ser mejor opción crear una especifica para ese tipo de dispositivos por la usabilidad del sitio. He encontrado un menú acordeón super simple que me haría esa función, y en tan solo una página tendría toda la navegación del sitio, no como con la web completa que para navegar, te lleva a subpáginas y en esas ya tienes el contenido. Y así que estás galerías contengan fotos de menor resolución para una vez más no sobrecargar los dispositivos móviles.

He encontrado esto, y funciona en pruebas que he realizado
Código:
<script type="text/javascript">
<!--
if (screen.width <= 1000) {
document.location = "mobile";
}
//-->
</script>
Código:
 // crude way to check that the screen is at 1024x768
 if (window.screen.width < 1000) {
   // resolution is below 10 x 7
   window.location = 'm.mysite.com'; //for example
 }
Aunque no se que diferencia exactamente hay entre ambos.
Y no se si este script funcionaria en todo tipo de dispositivos, pero esto solucionaría el problema de detección por pixeles de ancho y no por tipo de dispositivo, si es android... IOS...

Lo he puesto en el apartado del foro correspondiente, ya que esto no es propiamente código CSS
http://www.forosdelweb.com/f13/redir...mobil-1062389/

A ver que te parece esto, siento que estoy a punto de solucionar el problema!
Gracias y un saludo

Etiquetas: 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 04:59.