📱 Mobile-First Design Principles
-
Start with mobile styles — default CSS is for
mobile (no media query)
-
Use min-width media queries — add styles for larger
screens
-
16px font size — prevents zoom on mobile when input
is focused
-
Larger touch targets — 44px minimum for buttons and
inputs
-
Test on real phone — or use Chrome DevTools device
mode
/* =================================== MOBILE-FIRST PATTERN
=================================== */ /* Default styles (apply to ALL
screens, especially mobile) */ .form-group { margin-bottom: 20px; }
input { padding: 14px 15px; /* Larger touch target */ font-size: 16px;
/* Prevents zoom on mobile */ width: 100%; } /* Tablet and up
(min-width: 768px) */ @media (min-width: 768px) { .form-row { display:
grid; grid-template-columns: 1fr 1fr; gap: 20px; } } /* Desktop and up
(min-width: 1024px) */ @media (min-width: 1024px) { .form-card {
padding: 50px; } }
🔄 Mobile-First vs Desktop-First
/* MOBILE-FIRST (Recommended) */ /* Start with mobile */ .element {
padding: 10px; } @media (min-width: 768px) { .element { padding: 20px;
} } /* DESKTOP-FIRST (Less recommended) */ /* Start with desktop */
.element { padding: 20px; } @media (max-width: 768px) { .element {
padding: 10px; } } /* Why Mobile-First is better: 1. Most web traffic
is now mobile 2. Forces you to prioritize content 3. Progressive
enhancement (add features, not remove) 4. Faster loading on mobile
(less CSS to download) */