← CSS tutorial

CSS

Responsive Design (Media Queries)

A @media rule applies its styles only when a condition is met — most often a screen width. This is how a page rearranges itself for phones vs. desktops.

Example: mobile-first responsive styling

.box {
  background: #2f7dff; /* the default, for small screens */
  padding: 12px;
}

@media (min-width: 768px) {
  .box {
    background: #ff7a2f; /* overridden once the screen is wide enough */
    padding: 24px;
  }
}

The common convention — used above — is mobile-first: write your default styles for the smallest screen first, then use @media (min-width: ...) to progressively add or override styles as the screen gets wider. This tends to produce simpler CSS than the reverse (desktop-first, using max-width to strip things away), since you're always adding complexity as space allows rather than trying to cram a complex desktop layout back down.

Common breakpoints worth knowing, not memorizing exactly

There's no single "correct" set of screen-width breakpoints — real projects pick values based on where their own design actually starts looking cramped, commonly somewhere near 480px (large phones), 768px (tablets), and 1024px (small laptops). Treat these as a starting point to test against, not a rule to follow blindly.

Try it yourself