Entender la diferencia entre media queries y container queries es fundamental al desarrollar sitios web responsivos. Tradicionalmente, las media queries han sido la herramienta habitual para ajustar nuestra página según el tamaño del viewport o pantalla. Sin embargo, las container queries ofrecen un enfoque nuevo que optimiza el diseño basándose en el tamaño del contenedor Padre, no del viewport general de la pantalla. Esta técnica facilita una adaptación más precisa y flexible en estructuras complejas.
¿Qué son y cómo funcionan las media queries?
Las media queries ajustan los estilos según el tamaño del viewport (pantalla completa):
Se configuran estilos cuando el ancho pantalla es menor o mayor a determinados píxeles.
Ejemplo muy común: cambiar un color o disposición al bajar de 600 píxeles de ancho.
Aquí, el color del div cambia cuando el contenedor alcanza un ancho específico (considerando el padding interno), volviendo los componentes individuales más independientes y estables.
¿Cómo elegir entre media queries y container queries?
Seleccionar entre ambas técnicas dependerá específicamente de tu proyecto y necesidades:
Las media queries siguen siendo útiles para una respuesta global (pantalla completa).
Las container queries brindan una ventaja definitiva en diseño modular para interfaces complejas.
Aplicar container queries facilita el mantenimiento, escalabilidad y limpieza del código. La modularización centrada en contenedores es especialmente efectiva en interfaces modernas con componentes dinámicos reutilizables.
¿Tu proyecto actual usa container queries o media queries? Comparte tu experiencia y comenta cuál consideras más efectiva según tu caso particular.
Es una propiedad que activa un elemento como contenedor para que pueda responder a Container Queries. Sin esta propiedad, los estilos condicionales basados en el tamaño del contenedor no funcionarán.
📌 ¿Para qué sirve?
Le dice al navegador que dimensiones del contenedor se deben observar para aplicar reglas de estilo condicionales
🧪 Valores principales
container
Se usa para activar un elemento como contenedor para consultas de contenedor (container queries). Permite que el navegador evalúe el tamaño o estilo de ese contenedor para aplicar estilos condicionales dentro de reglas @container.
Sintaxis
.container {
container: <container-type>
}
container-type (obligatorio) → Define qué propiedad se observará para activar la consulta.
Valores:
none (Valor por defecto) → No activa ningún contenedor.
size → Observa ancho y alto del contenedor.
inline-size (más común) → Observa solo el ancho.
style → Permite consultas basadas en estilos, como fuente.
@container nos ayuda si tenemos ciertas secciones de nuestra web que tienen que cumplir con ciertos estilos dependiendo el contenedor, podemos aplicarlo directamente dependiendo el contenedor y no del viewport que es engañoso y puede ser dificil hacer algo reponsivo correctamente. De esta nueva manera con el container podemos centrarnos en ellos y componentizar las secciones de nuestra web haciendo que sea mas prolijo el trabajo y pudiendo lograr que sea mas prolijo, mantenible y escalable nuestro proyecto.
Este tema de container y container-type no lo he isto en ningún otro curso de la ruta de HTML y CSS. Hubiera apreciado una explicación más completa de ese feature, que muy suguramente se pudo explicar de forma muy breve 😅 ?