Software">
Bootstrap
Bootstrap
Bootstrap
SOMMAIRE
Sommaire.................................................................................................................................... 1
Bootstrap - 4 ............................................................................................................................... 4
Etape 0 : historique, quid, fondamentaux, installation .......................................................................... 4
Historique ......................................................................................................................................................................4
2 références : officielle et w3schools ............................................................................................................................4
B4 : quid ? (2) .................................................................................................................................................................5
Les fondamentaux de B4 ...............................................................................................................................................6
Les principaux choix de B4 (4) .......................................................................................................................................7
Des outils utiles pour B4 (5)...........................................................................................................................................8
Un éditeur .................................................................................................................................................................8
Browsersync ..............................................................................................................................................................8
Usages pratiques de Visual Studio Code ..................................................................................................................8
Extension Visual Studio Code ...................................................................................................................................8
Installer Bootstrap 4 (6) .................................................................................................................................................9
Principes : version CDN - version compilée – fichiers sources ................................................................................9
Documentation BS ....................................................................................................................................................9
CDN BS ....................................................................................................................................................................10
Téléchargement ......................................................................................................................................................11
Les versions .............................................................................................................................................................11
Bilan ........................................................................................................................................................................11
Organisation du cours..................................................................................................................................................12
Etape 1 : les styles de base ..................................................................................................................13
1-Reboot B4– Normalize.css ........................................................................................................................................13
2-Titres .........................................................................................................................................................................13
3-Taille du texte ...........................................................................................................................................................14
4-Alignement du texte .................................................................................................................................................14
5 - Autres paramétrages du text -> documentation....................................................................................................14
6 - Blockquote ..............................................................................................................................................................15
7 - container et container-fluid ...................................................................................................................................16
Documentation .......................................................................................................................................................16
Principes ..................................................................................................................................................................16
Point d’arrêt et comportement « fluid » à la fin ....................................................................................................16
container-fluid ........................................................................................................................................................16
Les points d’arrêt pré-définis ..................................................................................................................................17
8 - Liste .........................................................................................................................................................................18
9 - Nav ..........................................................................................................................................................................18
10 - Tableau .................................................................................................................................................................19
Documentation .......................................................................................................................................................19
Principes ..................................................................................................................................................................19
Exemple...................................................................................................................................................................20
11 - Les images.............................................................................................................................................................21
Documentation .......................................................................................................................................................21
Principes ..................................................................................................................................................................21
Exemple complet ....................................................................................................................................................22
12 - Les couleurs ..........................................................................................................................................................23
Documentation .......................................................................................................................................................23
Principes ..................................................................................................................................................................23
Application à un <a href > .......................................................................................................................................23
Application à un <table> .........................................................................................................................................23
Bootstrap 4 - 1/52
13 - Les bordures .........................................................................................................................................................24
Documentation .......................................................................................................................................................24
Objectif....................................................................................................................................................................24
Principes ..................................................................................................................................................................24
Arrondis : border-radius CSS ...................................................................................................................................24
14 - Padding et margin : sizing .....................................................................................................................................25
Documentation .......................................................................................................................................................25
Objectif....................................................................................................................................................................25
Principes : p et m ....................................................................................................................................................25
Centrer ....................................................................................................................................................................25
Exemple...................................................................................................................................................................25
Remarque................................................................................................................................................................25
Principes responsive : p et m ..................................................................................................................................25
15 - Float ......................................................................................................................................................................26
16 - Flex ........................................................................................................................................................................27
Etape 2 : la grille de Bootstrap (15-22) .................................................................................................28
Présentation (15) .........................................................................................................................................................28
Généralités ..............................................................................................................................................................28
Principes : 12 blocs de 6 colonnes ..........................................................................................................................28
Tester les codes avec Sublime Text : ......................................................................................................................29
Premier exemple : container – row – col-6 (16) ..........................................................................................................30
Documentation .......................................................................................................................................................30
Principes ..................................................................................................................................................................30
Test :........................................................................................................................................................................30
Saisie automatique avec Sublime Text ...................................................................................................................30
Code ........................................................................................................................................................................31
Décaler des éléments dans la grille (17) : offset-4 ......................................................................................................32
Test :........................................................................................................................................................................32
Version responsive ......................................................................................................................................................33
Résultats attendus ..................................................................................................................................................33
Principes de programmation responsive de la grile ...............................................................................................33
Principes de programmation responsive de la grile ...............................................................................................34
Code ........................................................................................................................................................................34
Imbriquer des grilles les unes dans les autres .............................................................................................................35
Bases .......................................................................................................................................................................35
Test : version md, sans image : ...............................................................................................................................35
Complément ...........................................................................................................................................................36
Test : version md, sans image : ...............................................................................................................................36
Effacer un bloc : display none : d-none (20) ................................................................................................................37
Objectif....................................................................................................................................................................37
Technique : propriété display du CSS .....................................................................................................................37
Exemple 1................................................................................................................................................................38
Exemple 2................................................................................................................................................................39
Width et height : sizing (22).........................................................................................................................................40
Documentation .......................................................................................................................................................40
Objectif....................................................................................................................................................................40
Principes ..................................................................................................................................................................40
Exemple...................................................................................................................................................................40
Etape 3 : Le composant barre de navigation (31-34) .............................................................................41
Exemple 1 : nav, nav-item, nav-link .............................................................................................................................41
Résultats :................................................................................................................................................................41
Code ........................................................................................................................................................................42
Principes : div container et nav...............................................................................................................................42
Principes : ul ............................................................................................................................................................42
Principes : li, a .........................................................................................................................................................42
Exemple 2 : navbar ......................................................................................................................................................43
Documentation .......................................................................................................................................................43
Bootstrap 4 - 2/52
c ...............................................................................................................................................................................43
Code ........................................................................................................................................................................44
Principes : bootsratp, c’est verbeux ! .....................................................................................................................44
Exemple 3 : navbar avec logo ......................................................................................................................................45
Documentation .......................................................................................................................................................45
Résultats :................................................................................................................................................................45
Code ........................................................................................................................................................................46
Principes : bootsratp, c’est verbeux ! .....................................................................................................................46
Exemple 4 : navbar-toggler pour un bouton de regroupement de menu ..................................................................48
Documentation .......................................................................................................................................................48
Résultats :................................................................................................................................................................48
code.........................................................................................................................................................................49
Principes : bootsratp, c’est verbeux ! .....................................................................................................................50
Exemple 5 : navbar-default avec l’extension b5 de VS-Code ......................................................................................51
Installation ..............................................................................................................................................................51
Principes : ................................................................................................................................................................51
Etape 4 : template avec l’extension b5 de VS-Code ..............................................................................52
Installation ...................................................................................................................................................................52
Principes :.....................................................................................................................................................................52
Bootstrap 4 - 3/52
BOOTSTRAP - 4
https://getbootstrap.com/docs/4.6/getting-started/introduction/
https://www.w3schools.com/bootstrap4/default.asp
Historique
• Août 2011 : Bootstrap 1.0, publié par Twitter. Premier nom: twitter blue print.
• Janvier 2012 : Bootstrap 2.0 : intègre le responsive.
• Août 2013 : Bootstrap 3 : refonte complète.
• Août 2015 : Bootstrap 4, version alpha.
• Janvier 2018 : Bootsrapt 4.1.3 : refonte complète. Version finale de B4. Plus facile à utiliser que
les versions précédentes. Tout ce qui date d’avant est obsolète ! B4 utile les FlexBox.
• Dernière version : 4.6 (janvier 2020)
• Version avancée : 5.0.1 (mai 2021)
Bootstrap 4 - 4/52
B4 : quid ? (2)
• B4 est un framework front-end : HTML, CSS, JavaScript créé par les développeurs de Twitter
• Bootstrap est un ensemble d’outils dans un cadre de travail avec des choix déjà faits = un
framework.
Par exemple, B4 utilise les Flexbox (avant c’était les float) => IE8 et IE9 ne sont pas
compatibles.
B4 est basé sur HTML 5 et CSS3. B4 embarque des plugins JQuery de qualité.
• Bootsrat est utilisé pour créer le design des sites et des applications qui utilisent les technologies
du web : B4, c’est un framework « front-end », pour la partie visible du site, pour la User
Interface : UI (le back-end, c’est la partie serveur que les utilisateurs ne voient pas).
• Bootsrap propose une collection de classes CSS permettant de définir l’apparence de divers
éléments d’interface, comme des boutons, des barres de navigation, des formulaires, etc.
Le cœur de B4 est constitué de plusieurs centaines de classes CSS qui vont nous
permettre de définir l’apparence de bon nombre d’éléments : boutons, tableaux, titres,
formulaires, etc.
Mais B4 propose aussi des composants : barre de navigation, fil d’ariane, pagination,
etc.
Il y a une esthétique, une griffe B4. On peut la personnaliser mais il reste un « style ».
• Bootsrap propose une sélection de widget JavaScript permettant de définir le comportement de
divers éléments d’interface, comme des menus escamotables, un carrousel d’images, des listes
déroulantes, etc.
• Bootstrap consiste à mettre le CSS directement dans la page HTML !
Bootstrap 4 - 5/52
Les fondamentaux de B4
• Prérecquis : HTML et CSS
• Contenu de B4
• Les styles (les classes de bases)
• La grille fluide
• Les composants
• Les principaux composants :
• Barre de navigation
• Fil d’ariane
• Cartes
• Boutons
• Formulaires
• Widget interactifs
• Etc.
Bootstrap 4 - 6/52
Les principaux choix de B4 (4)
• < !DOCTYPE html> en ligne 1 forcément ! C’est le DOCTYPE du HTML 5. B4 ne gère pas le
HTML < 5
• B4 est « Mobile first » : l’affichage est d’abord défini pour les écrans les plus petits, puis les plus
grands, avec les medias queries CSS. On met forcément : <meta name="viewport"
content="width=device-width, initial-scale=1.0, shrink-to-fit=no">
• B4 change la valeur par défaut du box-sizing :
Le box-sizing spécifie à quoi le width ou height font référence.
La valeur par défaut du box-sizing, c’est content-box. Donc, width et height correspondent
au content-box (au contenu textuel de l’élément) et du coup, padding et bordure viennent
en plus de la largeur d’un élément.
B4 dit que le box-sizing c’est le border- box. Donc width et height incluent padding et
bordure.
Il ne reste que le margin en plus.
• B4 utilise le margin-bottom et pas le margin-top pour éviter les marges qui se superposent :
En CSS, les marges basses et hautes ne s’ajoutent pas mais se superposent. Avec B4, on
évite d’utiliser les marges hautes (margin-top) pour éviter les superpositions et on utilise
prioritairement margin-bottom.
• B4 calcule les tailles en REM : Root EM. C’est une unité de mesure relative. 1 REM c’est la
taille de base définie par l’utilisateur du navigateur (par défaut 16 pixels). Le REM, c’est une
bonne pratique qui permet à chaque utilisateur de paramétrer sa valeur de REM sur son
navigateur pour avoir une bonne taille affichée.
• Il y a d’autres choix de B4. Les 5 précédents sont les principaux. On verra les autres au fur et à
mesure.
Bootstrap 4 - 7/52
Des outils utiles pour B4 (5)
Un éditeur
• VS Code, SublimeText, Brackets, Atom, ou tout ce qu’on veut.
Browsersync
• Browsersync est un serveur web pour avoir un petit serveur de test et de développement.
• L’avantage, c’est qu’il recharge les pages automatiquement quand on sauvegarde une
modification.
• Browersync fonctionne avec node.js.
https://browsersync.io/
• ! + tab
• balise + tab
• balise#id + tab
• balise.class + tab
• balise.class1.class2 + tab
• lorem100 + tab
• p+tab lorem+tab
Bootstrap 4 - 8/52
Installer Bootstrap 4 (6)
Documentation BS
• On peut choisir sa version.
• La documentation est très bien faite : à utiliser sans modération ! N’oubliez pas d’utiliser le
traducteur de Chrome si vous bloquez avec l’anglais.
https://getbootstrap.com/docs/4.6/getting-started/introduction/
Bootstrap 4 - 9/52
CDN BS
• CDN : content distribution network
https://www.bootstrapcdn.com/
• On trouve un exemple ici :
https://getbootstrap.com/docs/4.6/getting-started/introduction/
• Bilan :
Il faut linker un bootstrap.min.css dans le head
Il faut ajouter deux scriptx src, pour jquery.slim.min.js et pour bootstrap.bundle.min.js à la
fin du body.
<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"
integrity="sha384-DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
crossorigin="anonymous"></script>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.2/dist/js/bootstrap.bundle.min.js"
integrity="sha384-Fy6S3B9q64WdZWQUiU+q4/2Lc9npb8tCaSX9FK7E8HnRr0Jz8D6OP9dO5Vg3Q9ct"
crossorigin="anonymous"></script>
Bootstrap 4 - 10/52
Téléchargement
• A partir de https://getbootstrap.com/ on choisit « download »
Les versions
• Pour Bootstrap, il y a du CSS et du JavaScript.
• Il y a 3 versions possibles du CSS : la version de base, complète, la version -grid qui ne contient
que la grile et les flexbox, la version -reboot qui ne contient que le reboot (on verra plus tard ce
que c’est).
• On voit ça dans l’onglet « content » : https://getbootstrap.com/docs/4.6/getting-started/contents/
• Il y a aussi la version de développement et la version « minifiée », de production.
• On va travailler par défaut avec la version complète minifiée.
Bilan
Bootstrap 4 - 11/52
Organisation du cours
• Etape 1 : les class (styles) de base.
• Etape 2 : la grille bootstrap.
• Etape 3 : le composant « barre de navigation ».
• Etape 4 : template.
Bootstrap 4 - 12/52
Etape 1 : les styles de base
• Le cœur de B4 est constitué de plusieurs centaines de classes CSS qui vont nous permettre de
définir l’apparence de bon nombre d’éléments : boutons, tableaux, titres, formulaires, etc.
• On va voir les plus utilisées dans un premier temps.
2-Titres
Pour donner l’apparence d’un titre :
class="h1"
• h1 à h6
• On doit normalement suivre la hiérarchie des titres (un h2 est après un h1). Avec les class de titre
B4, on peut suivre cette hiérarchie et donner l’apparence qu’on veut :
On peut donner l’apparence d’un niveau 3 à un niveau 1 :
<h1 class "h3">
Bootstrap 4 - 13/52
3-Taille du texte
https://getbootstrap.com/docs/4.0/content/typography/#display-headings
class="display-1”
4-Alignement du texte
class="lead text-right"
• right (évitez start), left (évitez end) par défaut, center, justifiy.
• A noter les 2 classes en même temps : lead et text-right
class="text-justify text-md-left"
class="lead text-nowrap"
Bootstrap 4 - 14/52
6 - Blockquote
• https://getbootstrap.com/docs/5.0/content/typography/#blockquotes
En HTML, <blockquote> permet de mettre des citations dans les documents. On y trouve
aussi un <footer> pour l’auteur, et un <cite> pour la source, par exemple.
• Par défaut, B4 n’en fait rien et même le décalage de gauche à disparu.
• Mais on peut ajouter 2 classes :
class="blockquote"
et
class="blockquote-footer"
Bootstrap 4 - 15/52
7 - container et container-fluid
Documentation
• https://getbootstrap.com/docs/5.0/layout/containers/
• https://www.w3schools.com/bootstrap4/bootstrap_containers.asp
Principes
• Dans bootstrap, on va souvent placer nos éléments dans un bloc (une div générique ou une div
sémantique) qui aura une class container ou container-fluid.
Les container nous faciliteront le comportement responsive.
• Le simple container à une largeur qui reste fixe et évolue par à-coup.
Il contient des marges à gauche et à droite.
• Le container-fluid a une largeur qui évolue à chaque modification de la taille de la fenêtre, en
continu, de façon fluide.
Il ne contient pas de marge à gauche et à droite.
container-fluid
• On peut paramétrer le container pour qu’il soit tout le temps fluide : il n’a pas de marge et la
largeur des blocs varie avec la taille de la fenêtre.
<main class="container-fluid">
Bootstrap 4 - 16/52
Les points d’arrêt pré-définis
https://getbootstrap.com/docs/5.0/layout/breakpoints/
• B4 définit les points d’arrêts en pixel pour les changements de comportement.
• Noter que par défaut, le comportement est x-small (ou xs) : c’est mobile first
Bootstrap 4 - 17/52
8 - Liste
https://getbootstrap.com/docs/5.0/content/typography/#lists
https://www.w3schools.com/bootstrap4/bootstrap_list_groups.asp
• Menu basique :
<ul class="list-group">
<li class="list-group-item">
9 - Nav
• On peut mettre :
<nav class="container">
Bootstrap 4 - 18/52
10 - Tableau
Documentation
https://getbootstrap.com/docs/5.0/content/tables/
https://www.w3schools.com/bootstrap5/bootstrap_tables.php
Principes
• Bordures et grisé une ligne sur 2 :
<table class="table table-striped">
• hover :
<table class="table table-hover">
• Des bordures partout :
<table class="table table-bordered">
• Compacte un peu les padding du texte. sm pour small :
<table class="table table-sm"> table-md par défaut
• Le reboot fait quelques mises à jour de style :
La balise <caption>, légende, apparaît après le tableau
• Version sombre pour tout le tableau :
<table class="table table-dark">
• Version grise pour le head :
<thead class="thead-light">
• Version sombre que pour les thead :
<table class="thead thead-dark">
Variante : thead-light (table-light n’existe pas) : c’est gris.
Bootstrap 4 - 19/52
Exemple
<div class="container mt-3">
<h2>Tableau classique</h2>
<table class="table table-bordered table-striped table-hover
table-sm">
<tr>
<th>Firstname</th> <th>Lastname</th> <th>Email</th>
</tr>
<tr>
<td>John</td>
<td>Doe</td>
<td>john@example.com</td>
</tr>
<tr>
<td>Mary</td>
<td>Moe</td>
<td>mary@example.com</td>
</tr>
</table>
</div>
Bootstrap 4 - 20/52
11 - Les images
Documentation
https://getbootstrap.com/docs/5.0/content/images/#responsive-images
https://www.w3schools.com/bootstrap5/bootstrap_images.php
Principes
• Images responsives :
img class="img-fluid"
L’image aura la taille de son conteneur. Sa taille s’adapte automatiquement si on change la
taille de la fenêtre : les images sont désormais « responsive ». Si l’image est plus petite :
elle reste plus petite. Si l’image est trop grande, elle s’adapte.
• Présentation améliorée :
<img ... class="img-fluid img-thumbnail">
Crée une petite bordure autour de l’image.
<img ... class="img-fluid rounded">
Arrondit les angles de l’image. Ca marche pour tous les éléments (pas que pour les
images).
• Traitement de la légende avec <figure> et <figcaption>
<figure class="figure">
<img src="img/iceberg.png" alt="iceberg" class="figure-img
img-fluid rounded img-thumbnail"/>
<figcaption class="figure-caption text-right">Naissance d’un
iceberg</figcaption>
</figure>
La balise figure ajoute une marge en bas : class figure et figure-img
La balise figcaption permet d’ajouter une légende : class figure-caption.
Bootstrap 4 - 21/52
Exemple complet
<p class="mx-3 my-3">
<img class="img-fluid rounded img-thumbnail"
src="./img/test.png" alt="test"></a>
</p>
<p class="mx-4">mon image</p>
Bootstrap 4 - 22/52
12 - Les couleurs
Documentation
https://getbootstrap.com/docs/5.0/utilities/colors/
https://www.w3schools.com/bootstrap5/bootstrap_colors.php
Principes
• Il y a 6 couleurs de base : primary, secondary, success, danger, warning et info
Les couleurs peuvent s’appliquer au texte : text-primary
Les couleurs peuvent s’appliquer au background : bg-primary
• Pour le texte, on a aussi : text-light, text-dark, text-muted, text-white
• En BS-5, on peut faire : text-bg-primary
Application à un <table>
<tr class="text-success table-success">
Le table- c’est comme un bg- mais la couleur est plus pale => du coup c’est lisible.
Bootstrap 4 - 23/52
13 - Les bordures
Documentation
• https://getbootstrap.com/docs/5.0/utilities/borders/
• https://www.w3schools.com/bootstrap5/bootstrap_utilities.php
Objectif
• On veut utiliser les propriétés width, heigt, max-width et max-height
Principes
• L’usage le plus basique est : border
<article class="border">
• On peut ajouter la largeur : border border-1 (de 1 à 5)
• On ne peut préciser : border-top, border-bottom, border-start, border-end.
• On peut ajouter la couleur : border border-primary (pour toutes les couleurs).
Bootstrap 4 - 24/52
14 - Padding et margin : sizing
Documentation
• https://getbootstrap.com/docs/4.1/utilities/spacing/
Objectif
• On veut utiliser la propriétés padding et margin : p et m dans bootstrap
Principes : p et m
• p|m{sides}-{size} : p ou m {des sides} – {une size}
• Les sides peuvent être : t(op), b(ottom), l(eft), r(ight), x(horizontal), y(vertical), rien(tout)
• La size peut être : 0, 1(.25), 2(.5), 3(1 ou rien = taille des caractères), 4(1.5), 5(3), auto
Centrer
• mx-auto
Exemple
• mb-3 : ajoute un marge de niveau 3 (sur 5 max) en dessous
• mx-auto : centre le texte (ça marche plus ou moins).
• mb-3 p-3 : un padding en plus tout autour
Remarque
• Parfois ça fonctionne bizarrement !
Principes responsive : p et m
• p|m{sides}-{size} for xs : p ou m {des sides} – {une size} for
• p|m{sides}-{breakpoint}-{size} for sm, md, lg, and xl
• mb-3 mb-md-5 : ajoute un marge de 1 ligne en dessous pour tous les écran et une plus grosse
marge à partir des écrans médium.
Bootstrap 4 - 25/52
15 - Float
• Rien de particulier sur le float bootstrap
<div class="clearfix">
<p>
<img class="float-right" src="img/iceberg.png" width="200px" alt="iceberg">
Lorem ipsum dolor sit amet consectetur, adipisicing elit. Fugiat, quam!
</p>
<p>suite du lorem</p>
</div>
<p>Lorem ipsum dolor sit amet consectetur, adipisicing elit. Ducimus, vel?</
• Documentations :
https://www.w3schools.com/bootstrap4/bootstrap_utilities.asp
https://getbootstrap.com/docs/4.1/utilities/float/
Bootstrap 4 - 26/52
16 - Flex
• Regardez les exemples sur w3schools :
https://www.w3schools.com/bootstrap4/bootstrap_flex.asp
Bootstrap 4 - 27/52
Etape 2 : la grille de Bootstrap (15-22)
Présentation (15)
https://getbootstrap.com/docs/5.0/layout/grid/
Généralités
• La grille B4 est un concept fondamental de B4.
• La grille est le cœur de la mise en page de B4: elle permet de décider de la position et de la taille
des différents éléments.
• La grille B4 est responsive.
• La grille B4 et puissante et flexible : elle s’appuie sur les Flexbox HTML5
• La grille B4 est relativement simple à utiliser.
• La grille B4 perd de son utilité avec l’arrivée du Grid Layout de HTML-5 et du Flex
HTML-5
Bootstrap 4 - 28/52
Tester les codes avec Sublime Text :
• Pour tester, on crée un fichier test.html avec Sublime Text
• On crée la structure automatiquement : html + tabulation
• On ajoute le link du CDN dans le <head> et les scripts dans le <body>
• Ensuite on peut copier les exemples dans le <body>
• On complète les lorem automatiquement : lorem + tabulation
Link et script :
<link rel="stylesheet"
href="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/css/bootstrap.min.css"
integrity="sha384-
zCbKRCUGaJDkqS1kPbPd7TveP5iyJE0EjAuZQTgFLD2ylzuqKfdKlfG/eSrtxUkn"
crossorigin="anonymous">
<script src="https://cdn.jsdelivr.net/npm/jquery@3.5.1/dist/jquery.slim.min.js"
integrity="sha384-
DfXdz2htPH0lsSSs5nCTpuj/zy4C+OGpamoFVy38MVBnE+IbbVYUew+OrCXaRkfj"
crossorigin="anonymous"></script>
<script
src="https://cdn.jsdelivr.net/npm/bootstrap@4.6.1/dist/js/bootstrap.bundle.min.j
s" integrity="sha384-
fQybjgWLrvvRgtW6bFlB7jaZrFsaBXjsOMm/tB9LTS58ONXgqbR9W8oWht/amnpF"
crossorigin="anonymous"></script>
Bootstrap 4 - 29/52
Premier exemple : container – row – col-6 (16)
Documentation
• https://getbootstrap.com/docs/5.0/layout/grid/
Principes
• On va créer 2 blocs de texte à mettre l’un à côté de l’autre : B4 propose de créer 2 div : c’est son
côté « so HTML 4 » ! On peut aussi travailler avec des balises de structuration du HTML 5.
• On va structurer ça avec un main à classe container, une section à classe row, deux articles à
classe col-6
Test :
Bootstrap 4 - 30/52
Code
<main class="container">
<section class="row">
<article class="col-6 border bg-success">
<p>Lorem ... </p>
</article>
<article class="col-6 border bg-warning">
<p>Lorem ... </p>
</article>
</section>
</main>
container : crée un comportement responsive et un cadre avec des marges gauche et droite.
row : va permettre de mettre les articles en colonnes : le row définit 12 colonnes dans la
section.
col-6 : définit la taille des articles.
• Le « row », c’est ce qui définit la grille.
• On a mis col-6, col-6 pour s’étaler sur les 12 colonnes. On pourrait avoir col-4, col-8 ou col-4,
col-4 : dans ce cas il reste de la place à droite.
• On peut aussi avoir col-6, col-10 : dans ce cas, le deuxième article démarre en dessous du premier
et s’étale sur 10 colonnes.
• Pour mettre 3 éléments côte-à-côte, on mettra par exemple 3 fois col-4.
Bootstrap 4 - 31/52
Décaler des éléments dans la grille (17) : offset-4
• On part d’une page à 3 blocs. On va décaler les blocs :
class offset-4
<main class="container">
<section class="row">
<article class="col-6 border bg-primary">
<p>Lorem ... </p>
</article>
<article class="col-6 offset-4 border bg-sucess">
<p>Lorem ... </p>
</article>
<article class="col-6 offset-4 border bg-warning">
<p>Lorem ...</p>
</article>
</section>
</main>
Test :
Bootstrap 4 - 32/52
Version responsive
Résultats attendus
➢ x-small :
➢ sm :
➢ md :
➢ lg :
Bootstrap 4 - 33/52
Principes de programmation responsive de la grile
• B4 est mobile first : on doit donc d’abord penser sa page pour un mobile, puis la faire varier si on
augmente la taille.
• Dans notre exemple, on considère que sur un mobile, les articles prennent toute la largeur : ils
sont donc col-12
• Ensuite on précise le point d’arrêt : par exemple : col-sm-6 : ça veut dire qu’à partir du point
d’arrêt small, je veux 6 colonnes.
• On peut mettre des offset (décalages) : offset-lg-3.
Code
<main class="container">
<section class="row">
<article class="col-12 col-sm-6 col-md-4 col-lg-3 bg-primary">
<p>Lorem ipsum dolor ... </p>
</article>
<article class="col-12 col-sm-6 col-md-4 col-lg-3 offset-lg-3
bg-success">
<p>Lorem ipsum dolor ... </p>
</article>
<article class="col-12 col-sm-6 col-md-4 col-lg-3 offset-lg-3
bg-warning">
<p>Lorem ipsum dolor ... </p>
</article>
</section>
</main>
Bootstrap 4 - 34/52
Imbriquer des grilles les unes dans les autres
Bases
• Il suffit dans un bloc d’un premier niveau de grille, de définir une nouvelle grille avec un « div
class=row » ou équivalent.
• Cette nouvelle div sera une nouvelle grille de 12 colonnes. Dans cette nouvelle grille, on pourra
mettre les éléments qu’on veut en définissant leur taille et leur position.
<main class="container-fluid">
<div class="row">
<section class="col-12 col-md-9 bg-primary">
<section class="row">
<div class="col-12 col-md-4 bg-sucess">
<img src="img/iceberg.png" alt="iceberg"
class="img-fluid img-thumbnail">
</div>
<article class="col-12 col-md-8 bg-warning">
<h1 class="h3">Lorem ipsum dolor</h1>
<p>Lorem ipsum dolor ... </p>
</article>
</section> <!-- End section row niveau 2 -->
</section>
<aside class="col-12 col-md-3 bg-info">
<p>Lorem ipsum dolor ... </p>
</aside>
</div> <!-- End div row niveau 1 -->
</main>
Un bon usage consiste à utiliser les div ou les sections pour les row et sinon à utiliser les
balises de structuration de HTML 5.
Bootstrap 4 - 35/52
Complément
• On peut mettre plusieurs sections class row avec l’image et l’article : chaque section correspond à
un article. Et on a un code responsive.
<main class="container-fluid">
<div class="row border">
<section class="col-12 col-md-9 border bg-danger">
<section class="row">
<div class="col-12 col-md-5 border bg-secondary">
<img src="img/iceberg.png" alt="iceberg"
class="img-fluid img-thumbnail">
</div>
<article class="col-12 col-md-6 border bg-primary">
<h1 class="h3">Lorem ipsum dolor 1 </h1>
<p>Lorem ipsum dolor ... </p>
</article>
</section> <!-- End section row niveau 2 -->
<section class="row">
<div class="col-12 col-md-5 border bg-warning">
<img src="img/iceberg.png" alt="iceberg"
class="img-fluid img-thumbnail">
</div>
<article class="col-12 col-md-7 border bg-success">
<h1 class="h3">Lorem ipsum dolor 2 </h1>
<p>Lorem ipsum dolor ... </p>
</article>
</section> <!-- End section row niveau 2 -->
</section>
<aside class="col-12 col-md-3 border bg-info">
<p>Lorem ipsum dolor 3 ... </p>
</aside>
</div> <!-- End div row niveau 1 -->
</main>
Bootstrap 4 - 36/52
Effacer un bloc : display none : d-none (20)
Objectif
• On veut effacer certaines parties du code en fonction de la taille de l’écran.
• Par exemple, supprimer un article sur un smartphone, ou supprimer des images.
Bootstrap 4 - 37/52
Exemple 1
• On avait un code avec 3 articles affichés avec des offsets (18).
• On veut ne pas afficher le dernier article en format smartphone (xs) :
On ajoute un bg-success pour bien voir le bloc
On ajoute d-none pour l’effacer
On ajoute d-sm-block pour qu’il se voit à partir du format sm.
<main class="container-fluid">
<section class="row">
<article class="col-12 col-sm-6 col-md-4 col-lg-3 bg-
primary">
<p>Lorem ipsum dolor 1 ... </p>
</article>
<article class=". col-sm-6 col-md-4 offset-lg-3 col-lg-3
bg-secondary">
<p>Lorem ipsum dolor 2 ... </p>
</article>
<article class=" col-sm-6 col-md-4 offset-lg-3 col-lg-3
bg-success d-none d-md-block">
<p>Lorem ipsum dolor 3 ... </p>
</article>
</section>
</main>
➢ Test xs :
➢ Test sm :
➢ Test md :
➢ Test lg :
Bootstrap 4 - 38/52
Exemple 2
• Dans un exempl précédent, on avait un code de blog avec des images.
• On veut ne plus afficher les images aux format xs et sm et qu’elles ne s’affichent qu’à partir du
format md.
On ajoute d-none pour l’effacer dans la div de l’image
On ajoute d-md-block pour que l’image se voit à partir du format md.
• Dans le code du blog avec les images, on ajoute d-none d-md-block à toutes les div contenant
l’image :
• On avait :
<div class="col-12 col-md-5 border bg-warning">
<img src="img/iceberg.png" alt="iceberg"
class="img-fluid img-thumbnail">
</div>
➢ Test xs et sm :
Bootstrap 4 - 39/52
Width et height : sizing (22)
Documentation
• https://getbootstrap.com/docs/4.1/utilities/sizing/
Objectif
• On veut utiliser la propriétés width, heigt, max-width et max-height
Principes
• On ne peut utiliser que 5 tailles : 25%, 50%, 75%, 100% et automatique
• .h-{value} avec value : 25, 50, 75, 100, auto
• .w-{value}
Exemple
• Pour w :
<div class="container bg-success">
<div class="w-25 bg-warning"> Lorem ipsum dolor sit. </div>
<div class="w-50 bg-warning"> Lorem ipsum dolor sit. </div>
<div class="w-75 bg-warning"> Lorem ipsum dolor sit. </div>
<div class="w-100 bg-warning"> Lorem ipsum dolor sit. </div>
<div class="w-auto bg-warning"> Lorem ipsum dolor sit. </div>
</div>
• Pour h :
• Il faut préciser la taille du bloc parent pour que le h-{value} ait un effet.
• On met un d-flex dans le parent pour passer tous les enfants à l’horizontal.
<div class="container bg-primary d-flex" style="height:100px">
<div class="h-25 bg-info"> Lorem ipsum dolor sit. </div>
<div class="h-50 bg-info"> Lorem ipsum dolor sit. </div>
<div class="h-75 bg-info"> Lorem ipsum dolor sit. </div>
<div class="h-100 bg-info"> Lorem ipsum dolor sit. </div>
<div class="h-auto bg-info"> Lorem ipsum dolor sit. </div>
</div>
Bootstrap 4 - 40/52
Etape 3 : Le composant barre de navigation (31-34)
https://getbootstrap.com/docs/5.0/components/navbar/
Résultats :
Bootstrap 4 - 41/52
Code
<body class="m-3 p-3 border border-1 border-primary">
<div class="container-fluid">
<nav class="m-3 border border-1 border-secondary bg-danger">
<ul class="nav justify-content-center nav-tabs flex-column flex-md-row ">
<li class="nav-item"><a class="nav-link" href="http://bliaudet.free.fr">Page 1 </a></li>
<li class="nav-item"><a class="nav-link" href="http://bliaudet.free.fr">Page 2</a></li>
<li class="nav-item"><a class="nav-link" href="http://bliaudet.free.fr">Page 3</a></li>
<li class="nav-item"><a class="nav-link" href="http://bliaudet.free.fr">Page 4</a></li>
<li class="nav-item"><a class="disabled nav-link" href="http://bliaudet.free.fr">Page 5</a></li>
</ul>
</nav>
</div>
<main class="border border-1">
<p class="p-1">Lorem ipsum dolor, sit amet consectetur adipisicing elit. Cupiditate facere ab aliquam assumenda fuga
temporibus
obcaecati quidem. Maxime, quas error!
</p>
</main>
</body>
Principes : ul
• nav : supprimer le point, met un display flex en ligne = flex-row par défaut
• justify-content-center : pour centrer
• nav-tabs : pour faire apparaitre une case
• flex-column flex-md-row : le plus petit d’abord : en colonne, puis à partir du md : en ligne
Principes : li, a
• nav-item et nav-li pour gérer des margins et des paddings propres
• disabled : le lien du a n’est pas actif
• active : le a active apparaît avec un design à part.
Bootstrap 4 - 42/52
Exemple 2 : navbar
Documentation
https://getbootstrap.com/docs/4.0/components/navbar/
https://www.w3schools.com/bootstrap4/bootstrap_navbar.asp
Bootstrap 4 - 43/52
Code
<body class="m-3 p-3 border border-1 border-primary">
<div class="container-fluid">
<nav class="navbar navbar-light bg-info navbar-expand-md">
<ul class="navbar-nav">
<li class="mx-2 nav-item"><a class="nav-link" href="http://bliaudet.free.fr">Page 1</a></li>
<li class="mx-2 nav-item"><a class="nav-link" href="http://bliaudet.free.fr">Page 2</a></li>
<li class="mx-2 nav-item"><a class="nav-link" href="http://bliaudet.free.fr">Page 3</a></li>
<li class="mx-2 nav-item"><a class="nav-link active" href="http://bliaudet.free.fr">Page 4</a></li>
<li class="mx-2 nav-item"><a class="nav-link disabled" href="http://bliaudet.free.fr">Page 5</a></li>
</ul>
</nav>
</div>
<main class="border border-1">
<p class="p-1">Lorem ipsum dolor, sit amet consectetur adipisicing elit. Cupiditate facere ab aliquam assumenda fuga
temporibus
obcaecati quidem. Maxime, quas error!
</p>
</main>
</body>
• navbar dans un nav, navbar-nav dans ul, nav-item dans li et nav-link dans a
C’est vertical par défaut
• Responsive: :
navbar-expand-md : passe à l’horizontal à partir de md
par défaut, c’est vertical
• Stylé :
navbar-dark ou light dans le nav,
bg-dark ou bg-info dans le nav
active ou disabled dans a
Bootstrap 4 - 44/52
Exemple 3 : navbar avec logo
Documentation
https://getbootstrap.com/docs/4.0/components/navbar/
https://www.w3schools.com/bootstrap4/bootstrap_navbar.asp
Résultats :
Bootstrap 4 - 45/52
Code
<body class="m-3 p-3 border border-1 border-primary">
<div class="container-fluid">
<nav class="navbar navbar-light bg-info navbar-expand-md">
<a href="http://bliaudet.free.fr" class="py-2">
<img src="img/iceberg.png" width="100px" alt="iceberg"></a>
<span class="pl-2">Site du velage des icebergs</span>
<ul class="navbar-nav ml-auto">
<li class="mx-2 nav-item"><a class="nav-link" href="http://bliaudet.free.fr">Page 1</a></li>
<li class="mx-2 nav-item"><a class="nav-link" href="http://bliaudet.free.fr">Page 2</a></li>
<li class="mx-2 nav-item"><a class="nav-link" href="http://bliaudet.free.fr">Page 3</a></li>
<li class="mx-2 nav-item"><a class="nav-link active" href="http://bliaudet.free.fr">Page 4</a></li>
<li class="mx-2 nav-item"><a class="nav-link disabled">Page 5</a></li>
</ul>
</nav>
</div>
<main class="border border-1">
<p class="p-1">Lorem ipsum dolor, sit amet consectetur adipisicing elit. Cupiditate facere ab aliquam assumenda fuga
temporibus
obcaecati quidem. Maxime, quas error!
</p>
</main>
</body>
<div class="container-fluid">
<nav class="navbar navbar-light bg-info">
Bootstrap 4 - 46/52
Bootstrap 4 - 47/52
Exemple 4 : navbar-toggler pour un bouton de regroupement de menu
Documentation
https://getbootstrap.com/docs/4.0/components/navbar/
https://www.w3schools.com/bootstrap4/bootstrap_navbar.asp
Résultats :
Bootstrap 4 - 48/52
code
<body class="m-3 p-3 border border-1 border-primary">
<div class="container-fluid">
<nav class="navbar navbar-light bg-info navbar-expand-md">
<span class="py-2">
<a href="http://bliaudet.free.fr">
<img src="img/iceberg.png" width="100px" alt="iceberg">
</a>
<span class="pl-2"> Site du velage des icebergs</span>
</span>
<button class="navbar-toggler" data-toggle="collapse" data-target="#div-collapse">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="div-collapse">
<ul class="navbar-nav ml-auto">
<li class="mx-2 nav-item"><a class="nav-link"
href="http://bliaudet.free.fr">Page 1</a></li>
<li class="mx-2 nav-item"><a class="nav-link"
href="http://bliaudet.free.fr">Page 2</a></li>
<li class="mx-2 nav-item"><a class="nav-link"
href="http://bliaudet.free.fr">Page 3</a></li>
<li class="mx-2 nav-item"><a class="nav-link active"
href="http://bliaudet.free.fr">Page 4</a></li>
<li class="mx-2 nav-item"><a class="nav-link disabled"
href="http://bliaudet.free.fr">Page 5</a></li>
</ul>
</div>
</nav>
</div>
<main class="border border-1">
<p class="p-1">Lorem ipsum dolor, sit amet consectetur adipisicing elit. Cupiditate facere ab aliquam assumenda fuga
temporibus obcaecati quidem. Maxime, quas error!
</p>
</main>
</body>
Bootstrap 4 - 49/52
Principes : bootsratp, c’est verbeux !
• Même container, nav, ul, li que précédemment.
• Sauf que l’image et le span sont dans un span qui prend le py-2 :
<span class="py-2">>
<a href="http://bliaudet.free.fr">
<img src="img/iceberg.png" width="100px" alt="iceberg">
</a>
<span class="pl-2"> Site du velage des icebergs</span>
</span>
<div class="container-fluid">
<nav class="navbar navbar-light bg-info navbar-expand-md ">
<ul class="navbar-nav">
<li class="mx-2 nav-item"><a class="nav-link"
<div class="container-fluid">
<nav class="navbar navbar-light bg-info">
Bootstrap 4 - 50/52
Exemple 5 : navbar-default avec l’extension b5 de VS-Code
Installation
On a installé l’extension b5 la plus populaire.
Principes :
D’abord : !b5 + tab (ou. b4 + tab avant… langage peu stable, peu mature).
b4-card + tab
mettre une photo à vous, un titre et du faux texte
Bootstrap 4 - 51/52
Etape 4 : template avec l’extension b5 de VS-Code
Installation
On a installé l’extension b5 la plus populaire.
Principes :
!template :
On a toute une page !!!
Bootstrap 4 - 52/52