📘 Chapitre 6 – Media Queries

1. 🎯 Objectif pédagogique

Apprendre à rendre un site responsive en utilisant les media queries pour adapter l’affichage des éléments en fonction de la taille de l’écran (mobile, tablette, desktop).

2. 📚 Concepts abordés

  • Syntaxe des media queries : @media
  • Breakpoints courants (320px, 768px, 1024px)
  • Modification des styles selon la largeur ou la hauteur de l’écran
  • Utilisation combinée avec Flexbox et Grid pour créer des interfaces adaptatives

3. 🧠 Explication théorique

Les media queries permettent d’appliquer des styles spécifiques en fonction des caractéristiques du périphérique (taille d’écran, orientation, etc.).

Exemple de media query :

@media (max-width: 768px) {
  body {
    background-color: lightblue;
  }
}

Dans cet exemple, si la fenêtre est inférieure ou égale à 768px, la couleur de fond devient bleue.

Bonnes pratiques :

  • Commencer par un design mobile-first (styles pour petits écrans en premier).
  • Utiliser des breakpoints logiques en fonction du contenu.
  • Tester sur plusieurs tailles d’écrans.

4. 🛠 Tutoriel pratique

Résumé du travail : Créer une page avec une mise en page qui change entre la version desktop et mobile grâce aux media queries.

Arborescence du projet :

mon_projet/
├── index.html
└── style.css

Étape 1 : Structure HTML

<!DOCTYPE html>
<html lang="fr">
  <head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Media Queries</title>
    <link rel="stylesheet" href="style.css">
  </head>
  <body>
    <header>Header</header>
    <main>
      <section>Section principale</section>
      <aside>Sidebar</aside>
    </main>
    <footer>Footer</footer>
  </body>
</html>

Étape 2 : Styles CSS avec media queries

body {
  font-family: Arial, sans-serif;
  margin: 0;
}

main {
  display: flex;
}

section {
  flex: 2;
  background: #ecf0f1;
  padding: 20px;
}

aside {
  flex: 1;
  background: #bdc3c7;
  padding: 20px;
}

/* Media Query pour écrans <= 768px */
@media (max-width: 768px) {
  main {
    flex-direction: column;
  }

  section, aside {
    flex: none;
    width: 100%;
  }
}

5. 🧾 Résumé et points-clés

  • Les media queries adaptent le style selon la taille de l’écran.
  • @media (max-width: …) est souvent utilisé pour les écrans plus petits.
  • Le mobile-first consiste à écrire d’abord les styles pour mobile, puis à élargir.