Nitrogen
HomePostsTagsAbout
Back to Posts
CSSFrontend

Container Queries: The End of Media Query Hacks

2026-05-081 min read

For years, responsive design meant media queries tied to viewport width. Container queries change everything by letting components respond to their own container's size.

The Problem

A card component might appear in a 300px sidebar or a 900px main area. With media queries, you cannot differentiate — the viewport is the same in both cases.

The Solution

.card-container {
  container-type: inline-size;
  container-name: card;
}

@container card (min-width: 400px) {
  .card {
    display: grid;
    grid-template-columns: 200px 1fr;
  }
}

@container card (max-width: 399px) {
  .card {
    display: flex;
    flex-direction: column;
  }
}

Container Query Units

New CSS units like cqw (container query width) let you size elements relative to their container:

.card-title {
  font-size: clamp(1rem, 3cqw, 1.5rem);
}

Browser Support

Container queries have full support in all modern browsers as of 2025. You can safely use them in production without fallbacks.

Best Practices

  1. Use container queries for reusable components
  2. Keep media queries for page-level layout
  3. Name your containers for clarity in complex layouts