10 Responsive Design Tips for 2024
Essential techniques for building websites that look great on every device.
Responsive design is no longer optional—it’s essential. Here are 10 tips to level up your responsive design skills.
1. Mobile-First Approach
Start designing for mobile, then scale up:
/* Mobile styles (default) */
.container {
padding: 1rem;
}
/* Tablet and up */
@media (min-width: 768px) {
.container {
padding: 2rem;
}
}
/* Desktop */
@media (min-width: 1024px) {
.container {
padding: 3rem;
}
}
2. Use Relative Units
Prefer rem, em, and % over fixed px:
/* Avoid */
font-size: 16px;
padding: 20px;
/* Prefer */
font-size: 1rem;
padding: 1.25rem;
3. Flexible Images
Make images responsive by default:
img {
max-width: 100%;
height: auto;
}
4. CSS Grid for Layouts
Grid makes responsive layouts simple:
.grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
gap: 1.5rem;
}
5. Clamp for Fluid Typography
Create smoothly scaling text:
h1 {
font-size: clamp(2rem, 5vw, 4rem);
}
| Viewport | Font Size |
|---|---|
| 320px | 2rem (min) |
| 800px | 2.5rem |
| 1200px+ | 4rem (max) |
6. Container Queries
Style based on parent, not viewport:
.card-container {
container-type: inline-size;
}
@container (min-width: 400px) {
.card {
flex-direction: row;
}
}
7. Aspect Ratio
Maintain proportions easily:
.video-wrapper {
aspect-ratio: 16 / 9;
}
.square {
aspect-ratio: 1;
}
8. Touch-Friendly Targets
Make buttons easy to tap:
button,
a {
min-height: 44px;
min-width: 44px;
}
9. Test on Real Devices
Emulators aren’t enough. Test on:
- Various phone sizes (iPhone SE to Pro Max)
- Tablets (iPad, Android tablets)
- Different browsers (Safari, Chrome, Firefox)
- Both orientations (portrait and landscape)
10. Performance Matters
Responsive isn’t just visual—optimize performance too:
<picture>
<source
media="(max-width: 768px)"
srcset="small.webp">
<source
media="(min-width: 769px)"
srcset="large.webp">
<img src="fallback.jpg" alt="Description">
</picture>
Bonus: Useful Breakpoints
Here’s a solid breakpoint system:
/* Tailwind's defaults */
sm: 640px /* Large phones */
md: 768px /* Tablets */
lg: 1024px /* Laptops */
xl: 1280px /* Desktops */
2xl: 1536px /* Large screens */
Conclusion
Responsive design is about more than just making things fit—it’s about creating great experiences on every device. Apply these tips, and your users will appreciate it.