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.
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.
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
- La etiqueta meta viewport
- Flexbox para layouts
- CSS Grid para layouts
- Media queries y desarrollo mobile-first