Media Queries
Pour un site Web qui s'adapte à toutes les tailles d'écran
Notions théoriques
Pour cette troisième séance, nous allons découvrir comment rendre notre portfolio responsive.
Pour cela, nous allons utiliser une fonctionnalité puissante de CSS : les Media Queries. Les Media Queries permettent d'appliquer des styles spécifiques en fonction de la taille de l'écran ou d'autres caractéristiques de l'appareil de l'utilisateur.
Nous allons également découvrir comment Flexbox peut nous aider à rendre notre portfolio responsive.
En combinant Flexbox et Media Queries, nous pouvons créer des designs qui s'adaptent à toutes les tailles d'écran.
Exemple pratique
Supposons que nous ayons une barre latérale et un contenu principal dans notre portfolio. Sur un grand écran, nous voulons que la barre latérale et le contenu principal soient côte à côte, mais sur un petit écran, nous voulons qu'ils soient empilés verticalement. Voici comment nous pourrions le faire :
<!DOCTYPE html>
<html lang="fr">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Document</title>
<style>
.container {
display: flex;
flex-wrap: wrap;
height: 200px;
}
.sidebar {
flex: 1 0 200px;
background-color: lightblue;
}
.main {
flex: 5 1 auto;
background-color: lightgreen;
}
@media (max-width: 600px) {
.sidebar,
.main {
flex: 1 0 100%;
}
}
</style>
</head>
<body>
<div class="container">
<div class="sidebar">Barre latérale</div>
<div class="main">Contenu principal</div>
</div>
</body>
</html>
Avec ce code, la barre latérale et le contenu principal seront côte à côte sur un grand écran, mais seront empilés verticalement sur un écran de 600 pixels de large ou moins.
Les Media Queries sont utilisées pour appliquer des styles différents, selon les caractéristiques du média :
- la largeur et la hauteur de la fenêtre d'affichage,
- la résolution de l'écran,
- et même le type d'appareil (imprimante, écran, etc).
Voici 2 exemples de Media Queries :
-
@media (max-width: 600px): s'applique lorsque la largeur de la fenêtre d'affichage est de 600 pixels ou moins.C'est souvent utilisé pour cibler les smartphones.
-
@media (min-width: 600px): s'applique lorsque la largeur de la fenêtre d'affichage est de 600 pixels ou plus.C'est souvent utilisé pour cibler les appareils plus grands, tels que les tablettes et les ordinateurs.