Problema con CSS Responsive
Hola a todos, a ver si me podéis ayudar con este tema.
Estoy trabajando en una Landing, con la etiqueta META Asi:
<meta name="viewport" content="width=device-width, maximum-scale=1, user-scalable=no"/>
Esta landing se ve OK, la adapto con Mediaqueries pero se comporta diferente segun el movil.
Por ejemplo, un Nexus 4con estas especificaciones de pantalla 1280 x 738 pixel resolución (320) ppl
me está cogiendo las MediaQueries:
@media only screen and (max-width: 321px){}
sin embargo otros móviles como un Samsung S3 o en Chrome emulando una resolucion de 320pxde ancho no coge esta media querie.
Lo del navegador lo puedo entender, pero no entiendo por que el Nexus tira de una querie de 320 cuando no debería.
¿Es por la etiqueta Meta?
¿Como se el comportamiento que tendrá un dispositivo con mis Media Queries?
Si os ha pasado y tenéis alguna idea, soy todo oidos.
thefactoyweb
Has probado a usar : http://quirktools.com/screenfly/
Saludos
jordanopolanco
Hola @mrhashman,
Todos los dispositivos debería de reaccionar igual para un breakpint especifico, pero no es así.
El Nexus 7 tiene unas cualidades muy diferente al Sansum galaxy, en estos casos lo que se suele hacer es elegir los media query fijándote en estos puntos:
Diferencia de medida del viewport entre dispositivos:
Son algunas ideas de como resolver el problema, si tienes trafico de usuarios será más fácil, da soporte a los dispositivos más utilizados por tus usuario y listo.
Un saludo, espero te ayude en algo.
thefactoyweb
También puedes utilizar la detección del tamaño del screen mediante jquery y de esa forma realizar las acciones oportunas para un caso concreto :
mrhashman
Buenas,
gracias por contestar, me está siendo de ayuda.
El problema es que tiene que la maqueta no tiene que hacer Scroll (condición principal), y tiene mucho9 contenido. Al final lo he arreglado asi:
@ estilos generales
Y
@media screen and (device-width: 384px) and (-webkit-device-pixel-ratio: 2) {
body { font-size: 1em; }
}
La maqueta se ve bienen dispositivos antiguos 320x480, y con @mediaqueires y Pixel ratio cambio el valor del texto para que no desborde.
Es un rollo por que es muy dificil adaptar en una sola pantalla con la cantidad de disposivos que hay, y que se vea perfecto en todos, y ya no solo que no desborde, si no que tenga coherencia y las proporciones se mantengan.
Muchas gracias a todos de nuevo, me está siendo de mucha utilidad.
Os dejo unos enlaces que también me ha ayudado a comprender el tema:
Este primero a sido la clave:
http://www.quirksmode.org/blog/archives/2010/09/combining_meta.html
Y además estos otros:
http://www.html5rocks.com/en/mobile/high-dpi/
http://developer.android.com/guide/webapps/targeting.html
http://emiliocobos.net/css-directiva-supports-viewport-document/
thefactoyweb
No se como será tu maquetación pero podrías poner un contenedor en posición relative , con un ancho a 100% y ponerlo con overflow:hidden; dentro poner otro contenedor con float:left y a 100% de ancho , de esta forma evitas el desbordamiento y si metes más texto , fotos , etc , va creciendo el alto del contenedor , progresivamente
Saludos
mrhashman
no puedo overflow Hidden por que "peta" en android 2.1
:(
Tocan malabares con media queries
thefactoyweb
Android 2.1 Froyo ya es para dispositivos muy antiguos , deberías revisar mediante estadísticas si realmente entrán tantas personas como para realizar todas esas modificaciones , a día de hoy ya no se hacen webs pensando en internet explorer 6 por ejemplo o similar , lo mismo para el tema de esos dispositivos , no creo que entren muchos dispositivos con esas versiones , tal vez aun hay dipositivos con Gingerbread , pero no tantos con Froyo
Saludos
mrhashman
Android 2.3 también da problemas.
Trabajo con proyectos para latino america y paises emergentes y hay un amplio volumen de visitas en A 2.3 tmb.
:(
Si por mi fuera... jajajaja
thefactoyweb
SI te comprendo , lo único si tu problema es el desbordamiento y media queries te da problemas con estas versiones de android , prueba esto y me comentas :
<meta name="viewport" content="ancho a insertar" />
Saludos
mrhashman
<meta name="viewport" content="width=device-width, maximum-scale=1, user-scalable=no"/>
Lo tengo en modo "automatico"
ya está solucionado gracias.