Le responsive design est une approche de conception web qui permet à un site de s'adapter
automatiquement à différentes tailles d'écran (mobile, tablette, desktop) pour offrir
une expérience optimale sur tous les appareils.
Principe clé : Un seul code HTML/CSS qui s'adapte plutôt que plusieurs versions du site.
Technique principale : Les Media Queries CSS permettent d'appliquer des styles
différents selon la largeur de l'écran (breakpoints).
Les breakpoints sont les points de rupture où le layout change pour s'adapter à une nouvelle
taille d'écran. Voici les breakpoints les plus couramment utilisés :
📱 Mobile Portrait
< 576px
iPhone SE, petits smartphones
320px - 575px
1 colonne de contenu
Menu hamburger obligatoire
📱 Mobile Landscape
576px - 767px
Smartphones en mode paysage
iPhone standard, petits Android
1-2 colonnes possibles
Menu hamburger recommandé
📱 Tablette Portrait
768px - 991px
iPad, tablettes Android
2 colonnes confortables
Menu hamburger ou liens visibles
Sidebar peut être cachée
💻 Tablette Landscape / Petit Desktop
992px - 1199px
iPad Pro, petits laptops
2-3 colonnes
Navigation complète visible
Sidebar visible optionnelle
🖥️ Desktop
1200px - 1399px
Écrans standard de bureau
3-4 colonnes
Toutes fonctionnalités visibles
Layout complet
🖥️ Large Desktop
> 1400px
Grands écrans, 4K
4+ colonnes possibles
Limiter la largeur max (1400-1600px)
Éviter les lignes trop longues
/* Media Queries Standards *//* Mobile First Approach (recommandé) *//* Styles de base pour mobile */.container {
width: 100%;
padding: 1rem;
}
/* Tablette et plus */@media (min-width: 768px) {
.container {
padding: 2rem;
}
}
/* Desktop et plus */@media (min-width: 1200px) {
.container {
max-width: 1400px;
margin: 0 auto;
}
}
1. Header / Navigation Responsive
Le header est la zone la plus critique en responsive car il doit rester accessible
sur tous les écrans tout en préservant l'espace pour le contenu.
Transformation Menu Desktop → Mobile
Stratégie la plus courante : menu horizontal devient menu hamburger
Desktop (> 992px)
Tablette (768px - 991px)
Mobile (< 768px)
Stratégies de Navigation Responsive
Menu Hamburger (☰) : Cache la navigation dans un menu latéral ou dropdown (< 768px)
Priority+ Pattern : Affiche les liens prioritaires, cache le reste dans un "More" (768px-991px)
Sticky Header Réduit : Header qui se compacte au scroll pour gagner de l'espace
Logo Centré : Sur mobile, centrer le logo et mettre le menu à gauche améliore l'équilibre
Bottom Navigation : Pour apps mobiles, navigation en bas de l'écran (plus accessible au pouce)
/* Header Responsive - Exemple Complet *//* Mobile First : Base mobile */.header {
display: flex;
justify-content: space-between;
align-items: center;
padding: 1rem;
height: 60px;
}
.nav-links {
display: none; /* Caché sur mobile */
}
.hamburger {
display: block; /* Visible sur mobile */cursor: pointer;
}
/* Tablette : transition */@media (min-width: 768px) {
.header {
padding: 1rem 2rem;
}
.hamburger {
display: none;
}
.nav-links {
display: flex; /* Navigation visible */gap: 2rem;
}
}
/* Desktop : espacement plus généreux */@media (min-width: 1200px) {
.header {
padding: 1rem 4rem;
height: 80px;
}
.nav-links {
gap: 3rem;
}
}
Tips Header Responsive
Utiliser position: fixed avec transform au scroll pour un header sticky performant
Réduire la taille du logo sur mobile (80% de la taille desktop)
Menu mobile : privilégier slide depuis la gauche ou full-screen overlay
Garder le CTA visible même en mobile (dans le menu ou header)
Tester avec un vrai doigt : zones tactiles minimum 44x44px
2. Hero / Bannière Responsive
Le hero doit rester impactant sur tous les écrans. La principale adaptation concerne
la disposition du texte et des images, ainsi que la hiérarchie visuelle.
Hero Texte + Image : Desktop → Mobile
Layout horizontal devient vertical, texte avant image
Desktop (> 992px)
Tablette (768px - 991px)
Mobile (< 768px)
Stratégies Hero Responsive
Stack Vertical : Passer de 2 colonnes (desktop) à 1 colonne (mobile), texte au-dessus
Texte Centré : Sur mobile, centrer le texte améliore la lisibilité
Réduction Tailles : H1 de 48px → 32px, padding de 100px → 40px
Image Adaptative : Utiliser object-fit: cover pour maintenir les proportions
Background Image : Sur mobile, superposer le texte sur l'image avec overlay sombre
CTA Visible : Garder les boutons CTA accessibles, taille minimum 48px de hauteur