| name | mobile-first-design |
| description | Designs responsive interfaces starting from mobile screens with progressive enhancement for larger devices. Use when building responsive websites, optimizing for mobile users, or implementing adaptive layouts. |
| license | MIT |
Mobile-First Design
Design interfaces starting with mobile as the foundation, then enhance for larger screens.
Breakpoints
| Name | Width | Devices |
|---|
| Mobile | 320-480px | iPhone SE, small Android |
| Tablet | 481-768px | iPad mini |
| Desktop | 769-1024px | iPad Pro, laptops |
| Large | 1025px+ | Desktop monitors |
Mobile-First CSS
.container {
padding: 1rem;
}
.nav {
display: none;
}
.nav-toggle {
display: block;
}
@media (min-width: 768px) {
.container {
padding: 2rem;
max-width: 720px;
margin: 0 auto;
}
.nav {
display: flex;
}
.nav-toggle {
display: none;
}
}
@media (min-width: 1024px) {
.container {
max-width: 960px;
}
}
Touch-Friendly Design
.button {
min-height: 48px;
min-width: 48px;
padding: 12px 24px;
}
.list-item {
padding: 16px;
margin-bottom: 8px;
}
Performance Requirements
| Metric | Target |
|---|
| First Contentful Paint | <3s on 3G |
| JS bundle | <100KB gzipped |
| Total page weight | <500KB |
Progressive Enhancement
<nav>
<a href="/home">Home</a>
<a href="/about">About</a>
</nav>
Best Practices
- Start design at 320px width
- Use relative units (rem, %, vw)
- Test on real devices
- Optimize images for mobile
- Minimize JavaScript for initial load
- Ensure readable text without zooming