Skip to content
DesignBeginner7 min read

Responsive Design Principles

Designing one interface that works from a small phone to a wide monitor — by starting at the hard end and letting content decide the breakpoints.

Written by VanshikaCo-Founder & Design Education Lead, Navital Learning
Published 6 August 2026 · Updated 11 August 2026

Start at the hard end

Designing the desktop version first and squeezing it down produces a phone layout full of compromises, because the desktop version was allowed to assume space it will not have. Designing the phone version first and expanding produces a desktop layout that had to earn every addition.

The narrow view forces the useful question early: what does this screen actually need? Everything that survives 375 pixels of width is essential by demonstration. Whatever you add back on a wide screen is then a deliberate improvement rather than a leftover.

Breakpoints come from content

The instinct is to pick breakpoints named after devices. Device sizes change constantly and the names were never accurate. The better method: widen the browser slowly and add a breakpoint at the width where the layout starts looking wrong.

  • A paragraph passing about 75 characters per line — cap the container, not the page
  • A card grid where cards become absurdly wide — add a column
  • A navigation bar that no longer fits — collapse it
  • A table that starts to scroll horizontally — that's a real breakpoint, and horizontal scroll inside the table is often the right answer rather than a redesign

Most interfaces need three breakpoints. Some need two. Needing seven is usually a sign the layout is fighting itself rather than a sign of thoroughness.

Fluid beats fixed between breakpoints

Breakpoints handle the moments layout must change shape. Between them, values should scale — otherwise a design tuned at 1440px looks cramped at 1100px and lost at 1900px.

fluid.css
/* Scales between a floor and a ceiling, no breakpoint needed. */h1 {  font-size: clamp(2.25rem, 4vw, 3.25rem);  line-height: 1.05;} /* Columns decided by available space, not by a media query. */.card-grid {  display: grid;  gap: 1.5rem;  grid-template-columns: repeat(auto-fit, minmax(18rem, 1fr));}

What genuinely differs on touch

Differences worth designing for
ConcernWhat to do
No hoverNever hide essential information behind hover alone
Fingers, not pointersAround 44px minimum targets, with spacing between them
Thumb reachPrimary actions within easy reach, not only at the top of a tall screen
On-screen keyboardIt covers up to half the screen — check forms with it open
Slower, variable networksImage weight and font loading matter more than on a desk

The hover one catches people repeatedly. A table row revealing its actions on hover is elegant on a laptop and simply broken on a phone, where those actions don't exist. Show them, or give them a persistent affordance.

Checking a layout properly

  1. Drag the browser width slowly from narrow to wideNot three fixed sizes. The problems live between the sizes you'd have tested.
  2. Check the awkward middleAround 700–900 pixels — small tablets, split-screen windows — is where most layouts are worst, because nobody designs for it.
  3. Open a form with the on-screen keyboard upOn a real phone. Confirm the submit button is reachable.
  4. Confirm nothing scrolls horizontallyA page that scrolls sideways on a phone is almost always one over-wide element — usually a table, a code block, or an image without a max-width.

Common mistakes

  • Designing desktop-first and treating mobile as a reduction
  • Breakpoints named after devices rather than derived from content
  • Essential actions revealed only on hover
  • Testing at three fixed widths and never in between
  • One over-wide element making the entire page scroll sideways

Key takeaways

  • Start narrow — everything that survives is essential by demonstration
  • Let content decide breakpoints; three is usually enough
  • Fluid values handle the space between breakpoints that media queries miss
  • Hover, target size, thumb reach, and the on-screen keyboard are the real touch differences

Try it yourself

Open your product and drag the browser window slowly from as narrow as it goes to full width. Note every width where something looks wrong. Those widths are your actual breakpoints, and they probably aren't the ones in your CSS.