Media Queries para Diseño Responsive Mobile y Tablet

Clase 46 de 55Curso Definitivo de HTML y CSS

Resumen

¿Cómo implementar media queries en un proyecto mobile first con Flexbox?

Comenzar a diseñar sitios web con un enfoque mobile first es esencial para asegurar una experiencia de usuario óptima en dispositivos móviles y escalar adecuadamente a tabletas y escritorios. Usar media queries en CSS permite ajustar las reglas de estilos según el tamaño de la pantalla (breakpoints). A continuación, veremos cómo implementar media queries en un proyecto usando Flexbox, asegurando un diseño adecuado en distintos dispositivos.

¿Cuáles son las buenas prácticas al incluir media queries?

Cuando trabajas con media queries en un archivo CSS, es importante seguir ciertas buenas prácticas:

  • Ubicar siempre al final del archivo: Coloca todos los media queries en la parte inferior de tu archivo CSS. Esto facilita que los miembros del equipo identifiquen rápidamente los lugares donde se encuentran los diferentes breakpoints.

  • Sintaxis básica de un media query: El comando básico para escribir una media query es el siguiente:

    @media (min-width: 600px) {
        /* Reglas CSS aquí */
    }
    
  • Usa min-width para mobile first: Al utilizar min-width, defines reglas que se aplican a partir de un cierto tamaño, por lo que comienzas optimizando para pantallas pequeñas y luego escalas hacia pantallas más grandes.

Ejemplo práctico de media queries

Aquí hay un ejemplo de cómo puedes ajustar el layout al ir pasando de un dispositivo móvil a una tableta usando media queries. Imaginemos que tienes contenedores que ocupan el 100% del ancho en dispositivos móviles y quieres cambiar esto en una tableta:

  1. CSS Base para Mobile:

    .container {
        width: 100%;
    }
    
  2. Media Queries para Tabletas:

    En el CSS, agrega la media query para dispositivos de 600 píxeles en adelante:

    @media (min-width: 600px) {
        .container-2, .container-3, .container-4 {
            width: 50%;
        }
    }
    

¿Cómo implementar varios breakpoints en un proyecto?

Además de ajustar el diseño al pasar de un móvil a una tableta, puedes definir más breakpoints para dispositivos aún más grandes. Por ejemplo, cuando el ancho alcanza 800 píxeles, puedes hacer más ajustes:

@media (min-width: 800px) {
    .c1 {
        width: 60%;
    }
    .c2 {
        width: 40%;
    }
    .c3, .c4 {
        width: 33%;
    }
    .c5 {
        width: 34%;
    }
}

Aquí se ve cómo los distintos elementos cambian su disposición en pantallas más grandes, adaptándose de manera fluida al tamaño del dispositivo.

¿Cómo manejar los estilos en archivos separados?

Una práctica recomendada es separar los estilos de los media queries en diferentes archivos CSS para cada tipo de dispositivo:

  1. Creación de archivos CSS específicos: Crea archivos como tablet.css y desktop.css.

  2. Enlace de archivos CSS con media queries:

    <link rel="stylesheet" href="tablet.css" media="screen and (min-width: 600px)">
    <link rel="stylesheet" href="desktop.css" media="screen and (min-width: 800px)">
    

Al hacer esto, mantienes el código organizado y permites que el navegador decida qué estilos cargar basándose en el tamaño del dispositivo. Aunque se descargan todos, el navegador prioriza los del tamaño actual y carga los otros después.

El enfoque del proyecto mostly fluid permite que tu sitio sea adaptable, reorientando elementos según el dispositivo, pero permaneciendo limitado para un control mayor del diseño. Continuar mejorando nuestras habilidades en desarrollo web asegura que los proyectos sean eficientes y agradables para los usuarios finales.