← ClaudeAtlas

responsive-layoutlisted

Make layouts work across widths, zoom levels, input types and content lengths — breakpoints, container queries, intrinsic sizing, space reservation, touch targets. Load when building or reviewing any layout.
soumit-kaz/lazysitter · ★ 1 · Web & Frontend · score 69
Install: claude install-skill soumit-kaz/lazysitter
# Responsive layout Responsive is not a list of breakpoints. It is a set of decisions about what changes, when, and why. ## Design from the constraints, not the mockup width The mockup is 1440px. The users are not. The four conditions that break most layouts: 1. **320px wide** — the narrowest width WCAG reflow requires support for. 2. **200% browser zoom** — an accessibility requirement, and it behaves like a narrow viewport with large text. This is the one nobody tests. 3. **The longest realistic content**, not the mockup's short label. 4. **A different font size** — a user with a 20px browser default, or a language whose words are 40% longer. ## Intrinsic sizing before media queries Most "responsive" work needs no breakpoint at all. Let content determine size: - `flex-wrap` with a `min-width` on items — they reflow when they no longer fit, at the width where it actually matters rather than an arbitrary one. - `grid-template-columns: repeat(auto-fit, minmax(16rem, 1fr))` — a grid that adapts its column count with no media query. - `min()`, `max()`, `clamp()` for fluid sizing — `clamp(1rem, 2.5vw, 2rem)` scales type without steps. - `min-width: 0` on flex children when text must be allowed to shrink — the default `min-width: auto` is why long text overflows a flex container instead of truncating. A layout built this way survives content lengths you did not anticipate. A breakpoint-driven layout only handles the widths you enumerated. ## Container queries where the comp