PMaker home
Responsive design isn't squashing; it's swapping in a new structure at specific widthsPick the breakpointsDecide the main battlefield first; three tiers are enough: mobile, tablet, desktopDecide what changesTables become cards, side nav becomes bottom tabs, columns reorder by importanceDon't just stack columns into a single oneTell AIHave it spell out the change per element, propose first, then code after your OKTrying to make both ends equally good usually leaves both awkward

A five-column table on mobile isn't shrunk—it becomes cards: the amount rises to the top, the other three fields collapse into one gray line.

Making Responsive Work

Don't just stack desktop components onto mobile—decide the trade-offs at each breakpoint first.

Don't just stack desktop components onto mobile—decide the trade-offs at each breakpoint first. Responsive design is not letting a layout auto-squash. It's swapping in a different structure at specific widths. What to swap and how is a design decision, not a technical one. Media queries are just the mechanism; the real work is re-judging the content relationships at every tier.rwd-wiki

What you'll run into:

  • On mobile you drag sideways to read a table, and you still have to zoom to tap anything
  • The desktop sidebar becomes a long strip across the top on mobile
  • Ask AI for responsive design and it just stacks columns into one, leaving the nav untouched

How many breakpoints

Tier Width Layout character
Mobile Below 768px Single column, bottom tab nav, cards instead of tables
Tablet 768–1024px Two columns, collapsible sidebar, fewer columns in tables
Desktop Above 1024px Multiple columns, persistent sidebar, full tables

Three tiers are enough. Don't memorize breakpoint values—the real test is "does the content start to look bad at this width." Drag the browser narrower slowly; the first place it feels awkward is your breakpoint.

Pick the main battlefield first. If 90% of users are on desktop, build desktop well and ship a "good enough" mobile version—and vice versa. Trying to make both ends equally good usually leaves both awkward.

What changes at the breakpoint

Element What it becomes on mobile
Table Cards. One row becomes one card, showing only the two or three key fields; the rest folds away
Side nav Bottom tabs, at most five, overflow goes into "More"
Multi-column layout One column, but reordered by priority, not stacked left to right as-is
List plus detail on one screen Two pages, with a back control on the detail page
Hover-only content Always visible or long-press. Mobile has no hover
Batch actions Long-press into multi-select, or skip entirely and leave it for desktop

Stacking columns is the step people fake most easily. On desktop it's "main content left, auxiliary right"; stacked into one column, auxiliary under main is tolerable—but if auxiliary ends up on top, users scroll a full screen before seeing the point.

A few zero-cost rules that are often skipped. Their order matters: settle the breakpoints and structural changes first, then tune these details—adjusting type size before the structure is fixed means polishing the wrong layout.

  • Size tap targets to fingers. No matter how small the icon looks, the tappable area should reach about 44px.
  • Don't scale font sizes proportionally. Body text on mobile should actually be slightly larger than desktop—the screen is smaller but closer to the face.
  • Match the keyboard. Phone fields pull up a numeric keypad; email fields one with an @. Zero cost, yet many products skip it.
  • Look at it on a real device. Dragging the browser narrow isn't the same as a real device—safe areas, the address bar, and keyboard occlusion only show up on actual hardware.

Tell AI

Write down what changes and how, so AI doesn't just stack.

Make this page responsive, breakpoints: 768px / 1024px.

Don't just stack the columns into one. For each element type,
state the change explicitly:
- Tables -> cards on mobile; list which fields are kept,
  which field leads the visual, and how the rest are handled
- Side nav -> bottom tab bar; state which four items remain
  and where the rest go
- Multi-column layout -> stacked order re-ranked by importance;
  state the new order
- Hover-dependent interactions -> what they become
- Batch actions -> keep or remove

Other requirements:
- Tap targets no smaller than 44px
- Mobile body text no smaller than desktop
- Inputs specify inputmode / type by content type

Propose the plan for each item above first; I'll confirm before you change code.

References

  1. Responsive web design — Wikipedia