Le meuble en kit
Plutôt que de couper le bois et fabriquer les tiroirs, on achète un meuble en kit : les pièces sont prêtes, il suffit de les assembler. Bootstrap, c'est un kit de pièces CSS et JavaScript déjà fabriquées.
Découvrir le framework Bootstrap et ses versions, l'intégrer par CDN ou en local, et construire des mises en page responsives avec la grille de 12 colonnes.
Une agence immobilière de Tanger veut un site en une semaine : une page d'annonces avec des cartes, trois par ligne sur ordinateur, deux sur tablette, une sur téléphone. Écrire tout ce CSS à la main prendrait des jours. Bootstrap fournit une grille et des composants prêts à l'emploi : on ajoute des classes au HTML, et la mise en page est déjà responsive.
Chaque .row est découpée en 12 colonnes égales. Une colonne indique combien de parts elle prend.
Bootstrap est un framework CSS et JavaScript libre (licence MIT), créé chez Twitter en 2011. Il fournit une grille responsive, des classes utilitaires et des composants (menus, boutons, cartes, fenêtres…).
| Version | Points clés |
|---|---|
| Bootstrap 3 (2013) | le premier « mobile first » |
| Bootstrap 4 (2018) | grille en Flexbox |
| Bootstrap 5 (depuis 2021) | sans jQuery, utilitaires enrichis : la version à utiliser |
Par CDN (un serveur qui distribue le fichier) : deux lignes à copier depuis getbootstrap.com.
<link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css">
...
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
En local : on télécharge les fichiers, on les met dans css/ et js/ et on les lie avec des chemins relatifs. Le site fonctionne alors sans Internet, par exemple en salle de formation.
Votre propre style.css se place après Bootstrap, pour pouvoir le personnaliser.
<div class="container"> <!-- largeur limitée et centrée -->
<div class="row"> <!-- une ligne de 12 colonnes -->
<div class="col-12 col-md-6 col-lg-4">...</div>
</div>
</div>
| Préfixe | Écran | À partir de |
|---|---|---|
col- | tous | 0 px |
col-sm- | petit | 576 px |
col-md- | moyen | 768 px |
col-lg- | grand | 992 px |
col-xl- | très grand | 1200 px |
Une classe s’applique à partir de sa taille et vers le haut. col-12 col-md-6 veut dire : toute la largeur sur téléphone, la moitié à partir de 768 px.
g-3 (gutter) espace les colonnes, container-fluid prend toute la largeur de l’écran.
Plutôt que de couper le bois et fabriquer les tiroirs, on achète un meuble en kit : les pièces sont prêtes, il suffit de les assembler. Bootstrap, c'est un kit de pièces CSS et JavaScript déjà fabriquées.
Chaque ligne de la grille est une tablette de 12 carrés. col-4 prend 4 carrés (un tiers), col-6 en prend 6 (la moitié), col-12 toute la tablette.
<div class="row"> <div class="col-4">1/3</div> <div class="col-4">1/3</div> <div class="col-4">1/3</div> </div>
Écrivez les deux lignes qui chargent Bootstrap 5 depuis un CDN (le CSS et le JavaScript), et dites où les placer.
<!-- dans le <head> --> <link rel="stylesheet" href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/css/bootstrap.min.css"> <!-- juste avant </body> --> <script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.3/dist/js/bootstrap.bundle.min.js"></script>
Quelles classes donner à une colonne pour qu'elle prenne toute la largeur sur téléphone, la moitié sur tablette (md) et un quart sur grand écran (xl) ?
<div class="col-12 col-md-6 col-xl-3">...</div> <!-- 12/12, puis 6/12, puis 3/12 -->
Une page d'annonce : la photo à gauche (deux tiers) et le prix et le contact à droite (un tiers) sur ordinateur, l'un sous l'autre sur téléphone. Écrivez la grille.
<div class="container"> <div class="row"> <div class="col-12 col-lg-8"> photo </div> <div class="col-12 col-lg-4"> prix et contact </div> </div> </div>