responsive

Design responsive layouts using intrinsic CSS, container queries, and fluid typography.

Updated Aug 12, 2026
One-click install
npx skills add https://github.com/brunoolf/frontend-craft --skill responsive-brunoolf
Or copy as Structured Prompt for Agent▼
Please help me install this Agent Skill.
Skill: responsive
Source: https://github.com/brunoolf/frontend-craft/tree/main/skills/responsive
Command: npx skills add https://github.com/brunoolf/frontend-craft --skill responsive-brunoolf

SYSTEM DOCUMENTATION & REQUIREMENTS

What problem does it solve? Responsive design is often bolted on at the end as a pile of media query patches, producing abrupt breakpoint jumps, horizontal overflow on mobile, and layouts that break under real content. This Skill guides building interfaces that adapt continuously from the start, using modern CSS instead of device-specific breakpoints. ## Core Features & Use Cases - Intrinsic Layout Patterns: Replace media queries with min(), max(), clamp(), auto-fit grids, and flex-wrap compositions that adapt without breakpoints. - Fluid Typography & Container Queries: Build clamp-based type scales that preserve browser zoom, and components that respond to their own container rather than the viewport. - Modern Viewport & Image Handling: Use dvh/svh/lvh units to fix iOS Safari height jumps, and srcset/sizes with explicit dimensions to prevent layout shift and wasted bandwidth. - Use Case: When building a new landing page or dashboard, apply this Skill to define the grid, type scale, and breakpoint strategy up front so the layout works from 360px to ultrawide without retrofitting. ## Quick Start Use the responsive skill to design this page layout so it adapts cleanly from mobile to desktop without a pile of media queries.

Frequently Asked Questions about responsive

High-intent search queries and answers about installing and using this skill.

FAQPage Schema
How do I make a responsive CSS grid without media queries?▼

Use grid-template-columns: repeat(auto-fit, minmax(min(18rem, 100%), 1fr)) so the grid fits as many columns as the space allows. The min(18rem, 100%) wrapper prevents overflow on very narrow screens below 288px.

How do I create fluid typography that scales with viewport size?▼

Use clamp() with a rem-based floor and ceiling plus a vw component, such as clamp(1rem, 0.95rem + 0.25vw, 1.125rem). Never use pure vw for body text because it breaks browser zoom, an accessibility requirement.

When should I use container queries instead of media queries?▼

Use container queries for reusable components that must adapt to the space they receive, not the window width. A card with container-type: inline-size works in both a narrow sidebar and a wide main area without knowing its context.

Why does 100vh cause layout jumps on iOS Safari?▼

The mobile Safari address bar shows and hides dynamically, but 100vh does not track that change, causing visible jumps. Use min-height: 100dvh for full-height sections, or svh when content must fit without scrolling.

How many breakpoints should a responsive layout have?▼

Three usually suffice: around 640px, 1024px, and 1440px, derived from where your content actually breaks rather than device lists. More than five breakpoints signals the layout should be intrinsic instead.

Why do responsive images download files that are too large?▼

An incorrect or missing sizes attribute makes the browser assume the image renders at full viewport width, so it downloads the largest srcset candidate. Set sizes to match the actual rendered width, and always include width and height attributes to prevent layout shift.