Bootstrap - CSS Grid : Guide pour débutants

Salut à toi, futurs développeurs web ! Aujourd'hui, nous allons plonger dans le merveilleux monde du système de grille CSS de Bootstrap. Ne t'inquiète pas si tu n'as jamais codé auparavant - je serai ton guide amical dans cette aventure passionnante. Alors, prends une tasse de café (ou de thé, si c'est ton truc), et c'est parti !

Bootstrap - CSS Grid

Fonctionnement

La grille CSS de Bootstrap est comme un outil de mise en page magique qui nous aide à organiser le contenu de nos pages web. Imagine que tu arrange du mobilier dans une pièce - c'est exactement ce que nous faisons, mais avec des éléments de site web !

Le système de grille est basé sur une disposition de 12 colonnes, ce qui signifie que nous pouvons diviser notre page en 12 parties égales. Cela nous donne une flexibilité incroyable dans la conception de nos mises en page. Jetons un coup d'œil à un exemple simple :

<div class="container">
<div class="row">
<div class="col-4">Colonne 1</div>
<div class="col-4">Colonne 2</div>
<div class="col-4">Colonne 3</div>
</div>
</div>

Dans cet exemple, nous avons créé trois colonnes égales, chacune occupant 4 parties de notre grille de 12 colonnes (4 + 4 + 4 = 12). C'est comme couper une pizza en trois parts égales !

Différences clés

Tu te demandes peut-être, "Qu'est-ce qui rend la grille CSS de Bootstrap spéciale ?" Eh bien, laisse-moi te le dire - c'est tout à fait simple et puissant. Contrairement aux mises en page CSS traditionnelles, le système de grille de Bootstrap :

  1. Utilise flexbox, ce qui le rend plus flexible et réactif
  2. Offre des classes faciles à utiliser pour une création de mise en page rapide
  3. Fournit une réponse intégrée pour différentes tailles d'écran

Trois colonnes

Créons une mise en page plus intéressante avec trois colonnes de tailles différentes :

<div class="container">
<div class="row">
<div class="col-3">Barre latérale</div>
<div class="col-6">Contenu principal</div>
<div class="col-3">Panneau de droite</div>
</div>
</div>

Dans cet exemple, nous avons une barre latérale et un panneau de droite (chacun occupant 3 colonnes) avec une zone de contenu principal plus grande au centre (6 colonnes). C'est comme avoir une grande télévision au centre de ton mur de salon, avec des étagères de chaque côté !

Réactif

Une des choses les plus cool de la grille Bootstrap est sa réactivité. Nous pouvons faire en sorte que nos mises en page s'adaptent à différentes tailles d'écran avec facilité. Voici comment :

<div class="container">
<div class="row">
<div class="col-12 col-md-6 col-lg-4">Colonne 1</div>
<div class="col-12 col-md-6 col-lg-4">Colonne 2</div>
<div class="col-12 col-md-12 col-lg-4">Colonne 3</div>
</div>
</div>

Cette mise en page s'empile verticalement sur les petits écrans, devient deux colonnes sur les écrans moyens, et trois colonnes sur les grands écrans. C'est comme avoir un site web changeant de forme !

Exemple

Créons une mise en page de blog simple et réactive :

<div class="container">
<div class="row">
<div class="col-12 col-lg-8">
<h1>Mon incroyable article de blog</h1>
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit...</p>
</div>
<div class="col-12 col-lg-4">
<h2>Articles récents</h2>
<ul>
<li>Article 1</li>
<li>Article 2</li>
<li>Article 3</li>
</ul>
</div>
</div>
</div>

Cette mise en page aura le contenu principal et la barre latérale empilés sur les petits écrans, mais côte à côte sur les écrans plus grands. C'est comme avoir un livre qui réorganise ses pages en fonction de la manière dont tu le tiens !

Empilage

Parfois, nous voulons que notre contenu s'empile sur la ligne suivante lorsqu'il dépasse la largeur de la grille. Bootstrap rend cela super facile :

<div class="container">
<div class="row">
<div class="col-9">.col-9</div>
<div class="col-4">.col-4<br>Puisque 9 + 4 = 13 > 12, cette div de 4 colonnes est empilée sur une nouvelle ligne en tant qu'unité contiguë.</div>
<div class="col-6">.col-6<br>Les colonnes suivantes continuent sur la nouvelle ligne.</div>
</div>
</div>

Cet exemple montre comment les colonnes s'empilent automatiquement lorsqu'elles dépassent la limite de 12 colonnes. C'est comme jouer au Tetris avec ta mise en page !

Décalage

Nous pouvons également contrôler où commencent nos colonnes dans la grille :

<div class="container">
<div class="row">
<div class="col-md-4">.col-md-4</div>
<div class="col-md-4 offset-md-4">.col-md-4 .offset-md-4</div>
</div>
<div class="row">
<div class="col-md-3 offset-md-3">.col-md-3 .offset-md-3</div>
<div class="col-md-3 offset-md-3">.col-md-3 .offset-md-3</div>
</div>
</div>

Les classes offset-* nous permettent de décaler les colonnes vers la droite. C'est comme donner un avantage de départ à ton contenu dans une course !

Colonnes automatiques

Bootstrap permet également des colonnes de taille flexible et automatique :

<div class="container">
<div class="row">
<div class="col">1 sur 3</div>
<div class="col-6">2 sur 3 (plus large)</div>
<div class="col">3 sur 3</div>
</div>
</div>

Ici, la première et la troisième colonne s'ajusteront automatiquement autour de la colonne du milieu. C'est comme avoir du mobilier intelligent qui s'ajuste pour s'adapter à l'espace !

Encapsulation

Nous pouvons même imbriquer des grilles à l'intérieur de grilles pour des mises en page plus complexes :

<div class="container">
<div class="row">
<div class="col-sm-9">
Niveau 1 : .col-sm-9
<div class="row">
<div class="col-8 col-sm-6">
Niveau 2 : .col-8 .col-sm-6
</div>
<div class="col-4 col-sm-6">
Niveau 2 : .col-4 .col-sm-6
</div>
</div>
</div>
</div>
</div>

Cela crée une grille à l'intérieur d'une grille, permettant des mises en page intriquées. C'est comme avoir des chambres à l'intérieur de chambres dans ta maison !

Personnalisation

Le système de grille de Bootstrap est extrêmement personnalisable. Tu peux ajuster le nombre de colonnes, les espaces intermédiaires et les points de rupture pour répondre à tes besoins. Voici un exemple de personnalisation de la grille en utilisant Sass :

$grid-columns: 15;
$grid-gutter-width: 20px;

@import "bootstrap/scss/bootstrap";

Cela change la grille par défaut de 12 colonnes à une grille de 15 colonnes et ajuste la largeur des espaces intermédiaires. C'est comme être l'architecte de ta propre ville numérique !

Espaces

Bootstrap 5 introduit le concept d'espaces, qui te permet de contrôler l'espacement entre les colonnes :

<div class="container">
<div class="row gy-5">
<div class="col-6">
<div class="p-3 border bg-light">Rembourrage de colonne personnalisé</div>
</div>
<div class="col-6">
<div class="p-3 border bg-light">Rembourrage de colonne personnalisé</div>
</div>
<div class="col-6">
<div class="p-3 border bg-light">Rembourrage de colonne personnalisé</div>
</div>
<div class="col-6">
<div class="p-3 border bg-light">Rembourrage de colonne personnalisé</div>
</div>
</div>
</div>

La classe gy-5 ajoute un espacement vertical entre les lignes. C'est comme ajouter de l'espace entre les éléments dans ta mise en page !

Conclusion

Et voilà, les amis ! Nous avons traversé le pays de la grille CSS de Bootstrap. De la mise en page de base aux designs réactifs, l'encapsulation et la personnalisation, tu as maintenant le pouvoir de créer des mises en page incroyables pour tes projets web.

Souviens-toi, la pratique rend parfait. Alors, va expérimenter avec ces concepts, et bientôt tu seras à créer des mises en page comme un pro ! Bon codage, et que tes grilles soient toujours parfaitement alignées ! ?

Méthode Description
container Crée un conteneur de largeur fixe et réactif
row Crée une rangée pour contenir des colonnes
col-* Crée des colonnes de différentes tailles (1-12)
col-*-* Crée des colonnes réactives pour différentes tailles d'écran
offset-*-* Décale les colonnes
col Crée des colonnes de largeur automatique
g-* Ajoute des espaces entre les colonnes
gy-* Ajoute des espaces verticaux entre les lignes
gx-* Ajoute des espaces horizontaux entre les colonnes

Credits: Image by storyset