He estado investigando sobre consultas de medios y todavía no entiendo cómo apuntar a dispositivos de ciertos tamaños.
Quiero poder apuntar a computadoras de escritorio, tabletas y dispositivos móviles. Sé que habrá algunas discrepancias, pero sería bueno tener un sistema genérico que pueda usarse para apuntar a estos dispositivos.
Algunos ejemplos que he encontrado:
# Mobile
only screen and (min-width: 480px)
# Tablet
only screen and (min-width: 768px)
# Desktop
only screen and (min-width: 992px)
# Huge
only screen and (min-width: 1280px)
O:
# Phone
only screen and (max-width:320px)
# Tablet
only screen and (min-width:321px) and (max-width:768px)
# Desktop
only screen and (min-width:769px)
¿Cuáles deberían ser los puntos de interrupción para cada dispositivo?
css
mobile
media-queries
tablet
betamax
fuente
fuente
Respuestas:
En mi opinión, estos son los mejores puntos de interrupción:
Editar : refinado para funcionar mejor con 960 cuadrículas:
En la práctica, muchos diseñadores convierten píxeles a ems, en gran medida b / c ems pueden permitirse el zoom. Con zoom estándar
1em === 16px
. Multiplica píxeles por1em/16px
para obtener ems. Por ejemplo,320px === 20em
.En respuesta al comentario,
min-width
es estándar en el diseño "móvil primero", en el que comienza diseñando para sus pantallas más pequeñas, y luego agrega consultas de medios cada vez mayores, trabajando en pantallas cada vez más grandes. Independientemente de si usted prefieremin-
,max-
o combinaciones de los mismos, ser conscientes del orden de las reglas, teniendo en cuenta que si hay varias reglas coinciden con el mismo elemento, las reglas posteriores anularán las reglas anteriores.fuente
min-width: 320px
css anule elmin-width: 801px
?¡No apunte a dispositivos o tamaños específicos!
La sabiduría general no es apuntar a dispositivos o tamaños específicos , sino replantear el término 'punto de interrupción':
Puede usar responsivepx.com para encontrar los puntos de interrupción 'naturales', como en 'Los puntos de interrupción están muertos' por Marc Drummond .
Use puntos de interrupción naturales
Los 'puntos de interrupción' se convierten en el punto real en el que su diseño móvil comienza a 'romperse', es decir, dejan de ser utilizables o visualmente agradables. Una vez que tenga un buen sitio móvil que funcione, sin consultas de medios, puede dejar de preocuparse por tamaños específicos y simplemente agregar consultas de medios que manejen ventanas gráficas sucesivamente más grandes.
Si no está intentando fijar un diseño al tamaño exacto de la pantalla, este enfoque funciona eliminando la necesidad de apuntar a dispositivos específicos . La integridad del diseño en sí mismo en cada punto de interrupción asegura que se mantendrá en cualquier tamaño. En otras palabras, si un menú / sección de contenido / lo que sea deja de ser utilizable en un cierto tamaño, diseñe un punto de interrupción para ese tamaño , no para un tamaño de dispositivo específico.
Vea la publicación de Lyza Gardner sobre puntos de interrupción del comportamiento , y también la publicación de Zeldman sobre Ethan Marcotte y cómo el diseño web receptivo evolucionó a partir de la idea inicial.
Usar marcado semántico
Además, el más simple y semántica de la estructura del DOM con
nav
,header
,main
,section
,footer
etc (evitando abominaciones comodiv class="header"
con internos anidadosdiv
etiquetas), más fácil será para la capacidad de respuesta ingeniero, especialmente evitando los flotadores mediante el uso de CSS Diseño de cuadrícula (de Sarah Drasner generador de rejilla es una gran herramienta para esto) y flexbox para organizar y reordenar de acuerdo con su plan de diseño RWD.fuente
Si desea apuntar a un dispositivo, simplemente escriba
min-device-width
. Por ejemplo:Para Iphone
Para tabletas
Aquí hay algunos buenos artículos:
fuente
@media only screen and (min-device-width: 1024){}
o algo así para anular estos cambios. Alternativamente, podría hacerlo@media only screen and (MAX-device-width: 1024){}
si comenzó con un diseño de escritorio y desea hacer cambios solo a cosas más pequeñas que 1024.He usado este sitio para encontrar la resolución y he desarrollado CSS por números reales. Mis números varían bastante de las respuestas anteriores, excepto que mi CSS realmente alcanza los dispositivos deseados.
Además, tenga este código de depuración justo después de su consulta de medios, por ejemplo:
Agregue este elemento de depuración en cada consulta de medios y verá qué consulta se ha aplicado.
fuente
Los mejores puntos de interrupción recomendados por Twitter Bootstrap
fuente
Consultas de medios para puntos de interrupción de dispositivos comunes
fuente
fuente
No se trata del recuento de píxeles, se trata del tamaño real (en mm o pulgadas) de los caracteres en la pantalla, que depende de la densidad de píxeles. Por lo tanto, "min-width:" y "max-width:" son inútiles. Una explicación completa de este problema está aquí: ¿qué es exactamente la relación de píxeles del dispositivo?
Las consultas "@media" tienen en cuenta el recuento de píxeles y la relación de píxeles del dispositivo, lo que resulta en una "resolución virtual" que es lo que debe tener en cuenta al diseñar su página: si su fuente es de 10px de ancho fijo y el " resolución horizontal virtual "es de 300 px, se necesitarán 30 caracteres para llenar una línea.
fuente
Hoy en día, lo más común es ver dispositivos con pantalla de retina, en otras palabras: dispositivos con altas resoluciones y una densidad de píxeles muy alta (pero generalmente de un tamaño físico menor a 6 pulgadas). Es por eso que necesitará retina para mostrar consultas multimedia especializadas en su CSS. Este es el ejemplo más completo que pude encontrar:
Fuente: sitio web de CSS-Tricks
fuente
Dado que hay muchos tamaños de pantalla variables que siempre cambian y lo más probable es que siempre cambie, la mejor manera de hacerlo es basar sus puntos de interrupción y consultas de medios en su diseño.
La forma más fácil de hacerlo es tomar su diseño de escritorio completo y abrirlo en su navegador web. Reduce la pantalla lentamente para hacerla más estrecha. Observe para ver cuándo el diseño comienza a "romperse" , o se ve horrible y estrecho. En este punto, se requeriría un punto de interrupción con una consulta de medios.
Es común crear tres conjuntos de consultas de medios para computadoras de escritorio, tabletas y teléfonos. Pero si su diseño se ve bien en los tres, ¿por qué molestarse con la complejidad de agregar tres consultas de medios diferentes que no son necesarias? ¡Hágalo según sea necesario!
fuente
Una característica adicional es que también puede usar consultas de medios en el atributo de medios de la
<link>
etiqueta.Con esto, el navegador descargará todos los recursos CSS, independientemente del atributo multimedia . La diferencia es que si la consulta de medios del atributo de medios se evalúa como falsa , ese archivo .css y su contenido no se bloquearán.
Por lo tanto, se recomienda utilizar el atributo de medios en la
<link>
etiqueta, ya que garantiza una mejor experiencia de usuario.Aquí puede leer un artículo de Google sobre este problema https://developers.google.com/web/fundamentals/performance/critical-rendering-path/render-blocking-css
Algunas herramientas que lo ayudarán a automatizar la separación de su código CSS en diferentes archivos de acuerdo con sus consultas de medios
Webpack https://www.npmjs.com/package/media-query-plugin https://www.npmjs.com/package/media-query-splitting-plugin
PostCSS https://www.npmjs.com/package/postcss-extract-media-query
fuente
El comportamiento no cambia en el escritorio. Pero en tabletas y móviles, amplío la barra de navegación para cubrir la imagen del logotipo grande. Nota: Use el margen (superior e inferior) tanto como lo necesite para la altura de su logotipo.
Para mi caso, 60px superior e inferior funcionó perfectamente!
Mira la barra de navegación aquí .
fuente
fuente
Estoy usando el siguiente para hacer mi trabajo.
fuente
fuente