Container queries frente a media queries
Comprenda cuándo usar consultas de contenedor en lugar de media queries del viewport para diseñar componentes.
Container queries frente a media queries es una lección gratuita de CSS 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 CSS Academy, y tu progreso se sincroniza en la web y la app de CoddyKit. El curso de CSS Academy incluye 4 lecciones en total.
La diferencia fundamental
Las consultas de medios responden a las dimensiones de la ventana gráfica. Las consultas de contenedor responden a las dimensiones del contenedor principal. Esta distinción determina qué herramienta debe usar para cada problema.
Consultas de medios: cuándo usarlas
Use consultas de medios para:
- Cambios en el diseño global de la página (una o dos columnas)
- Mostrar u ocultar secciones grandes de la página (un cajón de navegación en dispositivos móviles)
- Escalar la tipografía base a nivel de página
- Estilos de impresión
- Consultas de preferencias del usuario (modo oscuro, movimiento reducido)
Consultas de contenedor: cuándo usarlas
Use consultas de contenedor para:
- Cambios de diseño a nivel de componente (tarjeta horizontal o vertical)
- Componentes situados en contenedores desconocidos (barra lateral, área principal o barra lateral dentro del área principal)
- Componentes reutilizables de un sistema de diseño
- Widgets integrados en páginas de terceros
El argumento de la portabilidad
Una tarjeta diseñada con consultas de medios funciona en un punto de corte de una página de 1200 px de ancho. Si esa tarjeta se mueve a una barra lateral, puede necesitar puntos de corte diferentes. Con las consultas de contenedor, la misma tarjeta funciona sin más: se adapta al espacio disponible.
Uso combinado
Las aplicaciones reales usan ambas. Las consultas de medios definen el diseño general (la barra lateral aparece a partir de determinados anchos de escritorio); las consultas de contenedor definen el comportamiento de los componentes dentro de ese diseño.
<div class="layout">
<div class="sidebar"><div class="card">Sidebar card</div></div>
<div class="main-content"><div class="card">Main card</div></div>
</div>
Especificidad de las consultas de contenedor
A diferencia de las consultas de medios (que no añaden especificidad), las consultas de contenedor sí añaden especificidad de contexto. Una regla dentro de @container (min-width: 400px) tiene la misma especificidad que la misma regla fuera de él, pero solo se aplica dentro de ese contexto de contenedor.
Compatibilidad de los navegadores
Las consultas de contenedor son compatibles con todos los navegadores modernos desde 2023 (Chrome 105+, Firefox 110+, Safari 16+). Actualmente puede usarlas con seguridad en proyectos nuevos sin alternativas para objetivos de navegadores modernos.
Mejora progresiva con @supports
Para proyectos que requieran compatibilidad con navegadores antiguos, use @supports para comprobar si se admiten las consultas de contenedor:
<div class="card-wrapper"><div class="card">Progressively enhanced card</div></div>
Comparación del rendimiento
Las consultas de contenedor tienen sus propias características de rendimiento: cada elemento con container-type crea un límite de contención del diseño. Esto evita que los cambios de tamaño internos afecten al exterior, lo que en realidad supone una ventaja de rendimiento. Los cambios de las consultas de medios pueden desencadenar recálculos globales del diseño.
Depuración de las consultas de contenedor
Chrome DevTools muestra una insignia «cq» junto a los elementos contenedores en el panel Elements. Haga clic en ella para visualizar los límites del contenedor y probar las condiciones de las consultas de contenedor con el inspector de diseño de DevTools.
Comprobación rápida
Un componente de tarjeta de un sistema de diseño debe cambiar de un diseño apilado a uno contiguo según el ancho disponible en cualquier contexto. ¿Qué enfoque es mejor?
Resumen
Las consultas de medios responden a la ventana gráfica global; las consultas de contenedor responden al tamaño de un contenedor principal. Use consultas de medios para decisiones de diseño globales y consultas de preferencias del usuario. Use consultas de contenedor para componentes reutilizables que deban adaptarse a su contexto. Combine ambas: consultas de medios para el diseño general de la página y consultas de contenedor para la adaptación de los componentes dentro de ese diseño.
Preguntas frecuentes
¿La lección «Container queries frente a media queries» es gratis?
Sí — el texto completo de «Container queries frente a media queries» 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 CSS Academy, actualiza a CoddyKit PRO. El curso de CSS Academy incluye 4 lecciones en total.
¿Qué aprenderé en «Container queries frente a media queries»?
Comprenda cuándo usar consultas de contenedor en lugar de media queries del viewport para diseñar componentes. Practicas CSS 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 CSS Academy?
No se requiere experiencia previa. CSS 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 «Container queries frente a media queries»?
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 CSS Academy?
Sí. Cada lección de CSS 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
- container-type y container-name
- Reglas @container y breakpoints
- Unidades de consulta de contenedor: cqw y cqh
- Container queries frente a media queries