Frontend Academy · Lección

Media queries y desarrollo mobile-first

Escriba breakpoints con media queries de min-width, cree primero el layout móvil y mejórelo progresivamente para pantallas más grandes.

Lección 4 de 413 pasos

Media queries y desarrollo mobile-first es una lección gratuita de Frontend Academy en CoddyKit. Esta es la lección 4 de 4. Puedes leer la lección completa abajo gratuitamente — luego la practicas en el navegador con un editor de código integrado y un tutor de IA 24/7. Forma parte de la ruta de aprendizaje de Frontend Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de Frontend Academy incluye 4 lecciones en total.

¿Qué son las media queries?

Las media queries aplican reglas CSS solo cuando se cumplen determinadas condiciones, como que el ancho del viewport supere un umbral. Son la base del diseño adaptable y permiten que una sola hoja de estilos se ajuste a cualquier tamaño de pantalla.

Sintaxis básica

Una media query envuelve un bloque de CSS en una regla @media. Las reglas internas solo se aplican cuando se cumple la condición.

@media (min-width: 768px) {
  .container {
    max-width: 1200px;
    margin: 0 auto;
  }
}

min-width frente a max-width

min-width: aplica estilos cuando el viewport tiene como mínimo este ancho (enfoque mobile-first). max-width: aplica estilos cuando el viewport tiene como máximo este ancho (enfoque desktop-first). Prefiera min-width para el desarrollo mobile-first.

/* Mobile-first (preferred): */
@media (min-width: 768px) { /* tablets and up */ }
@media (min-width: 1024px) { /* desktops and up */ }

/* Desktop-first: */
@media (max-width: 767px) { /* phones only */ }

Enfoque mobile-first

Escriba primero el CSS para pantallas pequeñas (fuera de cualquier media query). Después, utilice media queries con min-width para añadir progresivamente complejidad en pantallas más grandes. Esto produce menos CSS para los usuarios móviles y un código más limpio en general.

.card {
  /* Mobile defaults: single column */
  padding: 16px;
  font-size: 0.9rem;
}

@media (min-width: 768px) {
  .card {
    /* Tablet enhancement */
    padding: 24px;
    font-size: 1rem;
  }
}

Breakpoints habituales

Elija los breakpoints según el contenido, no según dispositivos concretos. Puntos de partida habituales: 480px (teléfonos grandes), 768px (tabletas), 1024px (ordenadores de escritorio pequeños) y 1280px (ordenadores de escritorio grandes). Evite breakpoints dirigidos a modelos concretos de dispositivos.

Tipos de medios

Además del ancho de la pantalla, puede dirigirse a tipos de medios: screen para pantallas y print para impresoras. Las media queries para impresión permiten personalizar el aspecto de una página al imprimirla (ocultar la navegación y ajustar los colores).

@media print {
  nav, footer, .ads {
    display: none;
  }
  body {
    font-size: 12pt;
    color: black;
  }
}

Combinar condiciones con and

Encadene condiciones con and: aplique estilos únicamente cuando ambas sean verdaderas. Utilice not y or para una lógica más compleja.

@media (min-width: 768px) and (max-width: 1023px) {
  /* tablets only */
}

@media (orientation: landscape) and (max-width: 767px) {
  /* landscape phones */
}

prefers-color-scheme

Responda a la preferencia de modo oscuro del sistema operativo del usuario. Proporcione un tema oscuro de forma predeterminada, sin necesidad de un interruptor.

@media (prefers-color-scheme: dark) {
  body {
    background: #1a202c;
    color: #f7fafc;
  }
}

prefers-reduced-motion

Respete a los usuarios que prefieren menos movimiento (por trastornos vestibulares o epilepsia). Desactive o simplifique las animaciones dentro de esta media query.

@media (prefers-reduced-motion: reduce) {
  *, *::before, *::after {
    animation-duration: 0.01ms !important;
    transition-duration: 0.01ms !important;
  }
}

Consultas de contenedor: el futuro

Las consultas de contenedor (@container) aplican estilos según el tamaño de un contenedor padre, en lugar del viewport. Permiten una adaptación verdaderamente responsive a nivel de componente y están disponibles en todos los navegadores modernos desde 2023.

.card-container {
  container-type: inline-size;
}
@container (min-width: 400px) {
  .card { flex-direction: row; }
}

Propiedades lógicas para la compatibilidad con RTL

Utilice propiedades lógicas como margin-inline-start en lugar de margin-left para crear diseños que funcionen tanto en idiomas de izquierda a derecha como de derecha a izquierda. Prepare sus diseños responsive para el futuro.

Comprobación rápida

¿Qué enfoque define correctamente la estrategia CSS mobile-first?

Resumen: media queries y mobile-first

@media (min-width: N) para la mejora progresiva con enfoque mobile-first. Escriba los estilos base para móviles sin consultas. Añada complejidad para pantallas más grandes. Utilice prefers-color-scheme para el modo oscuro, prefers-reduced-motion para la accesibilidad y las consultas de contenedor para la adaptación a nivel de componente.

Gratis para empezar

Aprende HTML con un tutor de IA — gratis

Escribe y ejecuta código real en tu navegador, obtén ayuda instantánea de un tutor de IA disponible 24/7 y continúa donde lo dejaste en la web o en la aplicación.

Cursos
41
Lecciones
163

Preguntas frecuentes

¿La lección «Media queries y desarrollo mobile-first» es gratis?

Sí — el texto completo de «Media queries y desarrollo mobile-first» es gratis para leer aquí en la web. Para practicarla de forma interactiva (editor de código integrado y tutor de IA 24/7) y desbloquear el resto del curso de Frontend Academy, actualiza a CoddyKit PRO. El curso de Frontend Academy incluye 4 lecciones en total.

¿Qué aprenderé en «Media queries y desarrollo mobile-first»?

Escriba breakpoints con media queries de min-width, cree primero el layout móvil y mejórelo progresivamente para pantallas más grandes. Practicas Frontend Academy con código real que ejecutas directamente en el navegador, y un tutor de IA 24/7 responde tus preguntas mientras trabajas en la lección.

¿Necesito experiencia previa para empezar Frontend Academy?

No se requiere experiencia previa. Frontend Academy en CoddyKit está estructurado para principiantes hasta estudiantes avanzados, así que puedes empezar aquí o desde el inicio y avanzar a tu ritmo. Esta es la lección 4 de 4.

¿Cuánto tiempo toma la lección «Media queries y desarrollo mobile-first»?

La mayoría de las lecciones de CoddyKit toman alrededor de 5–10 minutos. Cada una es compacta e interactiva, así que avanzas constantemente y retomas exactamente por donde dejaste en la web y la app.

¿Puedo escribir y ejecutar código en esta lección de Frontend Academy?

Sí. Cada lección de Frontend Academy incluye un editor de código integrado, así que escribes y ejecutas código real directamente en tu navegador y obtienes retroalimentación instantánea de IA — sin configuración local necesaria.

Todas las lecciones de este curso

  1. La etiqueta meta viewport
  2. Flexbox para layouts
  3. CSS Grid para layouts
  4. Media queries y desarrollo mobile-first
← Volver a Frontend Academy