Introduction

Gérez la mise en plage, l'alignement et les dimensions des colonnes et du mécanisme de grid en général. Nous utilisons ici la technique dite Flexbox.
Déclarer un conteneur flexbox induit des comportements sur ses enfants.

Résumé des possibilités
.d-flex
.d-inline-flex
.d-sm-flex
.d-sm-inline-flex
.d-md-flex
.d-md-inline-flex
.d-lg-flex
.d-lg-inline-flex
.d-xl-flex
.d-xl-inline-flex
.d-xxl-flex
.d-xxl-inline-flex
Direction

Il est possible de préciser la direction row (horizontal) ou column (vertical) à l'agencement des blocs.
La notion de reverse permet d'inverser l'ordre d'affichage (le dernier passe en premier, etc...).

Exemples en mode row
Flex item 1
Flex item 2
Flex item 3
Flex item 1
Flex item 2
Flex item 3
<div class="d-flex flex-row mb-3">
  <div class="p-2">Flex item 1</div>
  <div class="p-2">Flex item 2</div>
  <div class="p-2">Flex item 3</div>
</div>
<div class="d-flex flex-row-reverse">
  <div class="p-2">Flex item 1</div>
  <div class="p-2">Flex item 2</div>
  <div class="p-2">Flex item 3</div>
</div>
Exemples en mode column
Flex item 1
Flex item 2
Flex item 3
Flex item 1
Flex item 2
Flex item 3
<div class="d-flex flex-column mb-3">
  <div class="p-2">Flex item 1</div>
  <div class="p-2">Flex item 2</div>
  <div class="p-2">Flex item 3</div>
</div>
<div class="d-flex flex-column-reverse">
  <div class="p-2">Flex item 1</div>
  <div class="p-2">Flex item 2</div>
  <div class="p-2">Flex item 3</div>
</div>
Résumé des possibilités
.flex-row
.flex-row-reverse
.flex-column
.flex-column-reverse
.flex-sm-row
.flex-sm-row-reverse
.flex-sm-column
.flex-sm-column-reverse
.flex-md-row
.flex-md-row-reverse
.flex-md-column
.flex-md-column-reverse
.flex-lg-row
.flex-lg-row-reverse
.flex-lg-column
.flex-lg-column-reverse
.flex-xl-row
.flex-xl-row-reverse
.flex-xl-column
.flex-xl-column-reverse
.flex-xxl-row
.flex-xxl-row-reverse
.flex-xxl-column
.flex-xxl-column-reverse
Justify content

Possibilité d'interagir sur justify-content pour gérer l'alignement dans l'axe X ou Y.
Pas de gestion via des top / right / bottom / left mais plutôt start, end, center, between et around.

Exemples
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
<div class="d-flex justify-content-start">...</div>
<div class="d-flex justify-content-end">...</div>
<div class="d-flex justify-content-center">...</div>
<div class="d-flex justify-content-between">...</div>
<div class="d-flex justify-content-around">...</div>
<div class="d-flex justify-content-evenly">...</div>
Résumé des possibilités
.justify-content-start
.justify-content-end
.justify-content-center
.justify-content-between
.justify-content-around
.justify-content-evenly
.justify-content-sm-start
.justify-content-sm-end
.justify-content-sm-center
.justify-content-sm-between
.justify-content-sm-around
.justify-content-sm-evenly
.justify-content-md-start
.justify-content-md-end
.justify-content-md-center
.justify-content-md-between
.justify-content-md-around
.justify-content-md-evenly
.justify-content-lg-start
.justify-content-lg-end
.justify-content-lg-center
.justify-content-lg-between
.justify-content-lg-around
.justify-content-lg-evenly
.justify-content-xl-start
.justify-content-xl-end
.justify-content-xl-center
.justify-content-xl-between
.justify-content-xl-around
.justify-content-xl-evenly
.justify-content-xxl-start
.justify-content-xxl-end
.justify-content-xxl-center
.justify-content-xxl-between
.justify-content-xxl-around
.justify-content-xxl-evenly
Align items

Utilisez align-items pour gérer l'alignement sur l'axe X ou Y (en fonction du mode).
Les choix sont entre start, end, center, baseline et stretch.

Exemples
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
<div class="d-flex align-items-start">...</div>
<div class="d-flex align-items-end">...</div>
<div class="d-flex align-items-center">...</div>
<div class="d-flex align-items-baseline">...</div>
<div class="d-flex align-items-stretch">...</div>
Résumé des possibilités
.align-items-start
.align-items-end
.align-items-center
.align-items-baseline
.align-items-stretch
.align-items-sm-start
.align-items-sm-end
.align-items-sm-center
.align-items-sm-baseline
.align-items-sm-stretch
.align-items-md-start
.align-items-md-end
.align-items-md-center
.align-items-md-baseline
.align-items-md-stretch
.align-items-lg-start
.align-items-lg-end
.align-items-lg-center
.align-items-lg-baseline
.align-items-lg-stretch
.align-items-xl-start
.align-items-xl-end
.align-items-xl-center
.align-items-xl-baseline
.align-items-xl-stretch
.align-items-xxl-start
.align-items-xxl-end
.align-items-xxl-center
.align-items-xxl-baseline
.align-items-xxl-stretch
Align self

Utilisez align-self pour gérer l'alignement individuel d'un élément
Les choix sont entre start, end, center, baseline et stretch.

Exemples
Article flexible
élément flexible aligné
Article flexible
Article flexible
élément flexible aligné
Article flexible
Article flexible
élément flexible aligné
Article flexible
Article flexible
élément flexible aligné
Article flexible
Article flexible
élément flexible aligné
Article flexible
<div class="align-self-start">Aligned flex item</div>
<div class="align-self-end">Aligned flex item</div>
<div class="align-self-center">Aligned flex item</div>
<div class="align-self-baseline">Aligned flex item</div>
<div class="align-self-stretch">Aligned flex item</div>
Résumé des possibilités
.align-self-start
.align-self-end
.align-self-center
.align-self-baseline
.align-self-stretch
.align-self-sm-start
.align-self-sm-end
.align-self-sm-center
.align-self-sm-baseline
.align-self-sm-stretch
.align-self-md-start
.align-self-md-end
.align-self-md-center
.align-self-md-baseline
.align-self-md-stretch
.align-self-lg-start
.align-self-lg-end
.align-self-lg-center
.align-self-lg-baseline
.align-self-lg-stretch
.align-self-xl-start
.align-self-xl-end
.align-self-xl-center
.align-self-xl-baseline
.align-self-xl-stretch
.align-self-xxl-start
.align-self-xxl-end
.align-self-xxl-center
.align-self-xxl-baseline
.align-self-xxl-stretch
Fill

La classe .flex-fill, lorsqu'elle est apposée sur plusieurs éléments siblings, les contraint à occuper tout l'espace disponible avec une répartition en fonction des contenus.

Exemples
Flex item with a lot of content
Flex item
Flex item
<div class="d-flex">
  <div class="p-2 flex-fill">Flex item with a lot of content</div>
  <div class="p-2 flex-fill">Flex item</div>
  <div class="p-2 flex-fill">Flex item</div>
</div>
Résumé des possibilités
.flex-fill
.flex-sm-fill
.flex-md-fill
.flex-lg-fill
.flex-xl-fill
.flex-xxl-fill
Grow et Shrink

Le .flex-grow-* sert à activer/désactiver l'extension d'un élément sur tout l'espace disponible.
Le .flex-shrink-* sert à activer/désactiver la réduction d'un élément pour laisser l'espace disponible aux autres.

Exemples
Flex item
Flex item
Third flex item
<div class="d-flex labo-col-item">
  <div class="p-2 flex-grow-1">Flex item</div>
  <div class="p-2">Flex item</div>
  <div class="p-2">Third flex item</div>
</div>
Flex item
Flex item
<div class="d-flex">
  <div class="p-2 w-100">Flex item</div>
  <div class="p-2 flex-shrink-1">Flex item</div>
</div>
Résumé des possibilités
.flex-grow-0
.flex-grow-1
.flex-shrink-0
.flex-shrink-1
.flex-sm-grow-0
.flex-sm-grow-1
.flex-sm-shrink-0
.flex-sm-shrink-1
.flex-md-grow-0
.flex-md-grow-1
.flex-md-shrink-0
.flex-md-shrink-1
.flex-lg-grow-0
.flex-lg-grow-1
.flex-lg-shrink-0
.flex-lg-shrink-1
.flex-xl-grow-0
.flex-xl-grow-1
.flex-xl-shrink-0
.flex-xl-shrink-1
.flex-xxl-grow-0
.flex-xxl-grow-1
.flex-xxl-shrink-0
.flex-xxl-shrink-1
Auto margins

L'ajout de marge automatique sur des éléments permet des agencements intéressants.
Voici 3 exemples (sans marge auto, marge droite auto sur 1er item et marge gauche sur dernier item).

Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
<div class="d-flex mb-3">
  <div class="p-2">Flex item</div>
  <div class="p-2">Flex item</div>
  <div class="p-2">Flex item</div>
</div>

<div class="d-flex mb-3">
  <div class="mr-auto p-2">Flex item</div>
  <div class="p-2">Flex item</div>
  <div class="p-2">Flex item</div>
</div>

<div class="d-flex mb-3">
  <div class="p-2">Flex item</div>
  <div class="p-2">Flex item</div>
  <div class="ml-auto p-2">Flex item</div>
</div>
With align-items

Sur le même principe mais à la vertical en associant align-items, flex-direction:column, et margin-top:auto ou margin-bottom:auto.

Flex item
Flex item
Flex item
Flex item
Flex item
Flex item
<div class="d-flex align-items-start flex-column mb-3" style="height: 200px;">
  <div class="mb-auto p-2">Flex item</div>
  <div class="p-2">Flex item</div>
  <div class="p-2">Flex item</div>
</div>

<div class="d-flex align-items-end flex-column mb-3" style="height: 200px;">
  <div class="p-2">Flex item</div>
  <div class="p-2">Flex item</div>
  <div class="mt-auto p-2">Flex item</div>
</div>
Wrap

Le flex-wrap permet d'indiquer quel niveau de retour à la ligne l'on souhaite.
Un .flex-nowrap empêche le retour à la ligne et débordera du conteneur.
Un .flex-wrap autorisera le retour.
Le reverse inversera l'ordre d'affichage.

Exemples
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
<div class="d-flex flex-nowrap">
  ...
</div>
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
<div class="d-flex flex-wrap">
  ...
</div>
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
<div class="d-flex flex-wrap-reverse">
  ...
</div>
Résumé des possibilités
.flex-nowrap
.flex-wrap
.flex-wrap-reverse
.flex-sm-nowrap
.flex-sm-wrap
.flex-sm-wrap-reverse
.flex-md-nowrap
.flex-md-wrap
.flex-md-wrap-reverse
.flex-lg-nowrap
.flex-lg-wrap
.flex-lg-wrap-reverse
.flex-xl-nowrap
.flex-xl-wrap
.flex-xl-wrap-reverse
.flex-xxl-nowrap
.flex-xxl-wrap
.flex-xxl-wrap-reverse
Order

Il est possible de modifier l'ordre d'affichage des éléments d'un flex en jouant sur le paramètre order.

First flex item
Second flex item
Third flex item
<div class="d-flex flex-nowrap">
  <div class="order-3 p-2">First flex item</div>
  <div class="order-2 p-2">Second flex item</div>
  <div class="order-1 p-2">Third flex item</div>
</div>
Résumé des possibilités
.order-0
.order-1
.order-2
.order-3
.order-4
.order-5
.order-6
.order-7
.order-8
.order-9
.order-10
.order-11
.order-12
.order-sm-0
.order-sm-1
.order-sm-2
.order-sm-3
.order-sm-4
.order-sm-5
.order-sm-6
.order-sm-7
.order-sm-8
.order-sm-9
.order-sm-10
.order-sm-11
.order-sm-12
.order-md-0
.order-md-1
.order-md-2
.order-md-3
.order-md-4
.order-md-5
.order-md-6
.order-md-7
.order-md-8
.order-md-9
.order-md-10
.order-md-11
.order-md-12
.order-lg-0
.order-lg-1
.order-lg-2
.order-lg-3
.order-lg-4
.order-lg-5
.order-lg-6
.order-lg-7
.order-lg-8
.order-lg-9
.order-lg-10
.order-lg-11
.order-lg-12
.order-xl-0
.order-xl-1
.order-xl-2
.order-xl-3
.order-xl-4
.order-xl-5
.order-xl-6
.order-xl-7
.order-xl-8
.order-xl-9
.order-xl-10
.order-xl-11
.order-xl-12
.order-xxl-0
.order-xxl-1
.order-xxl-2
.order-xxl-3
.order-xxl-4
.order-xxl-5
.order-xxl-6
.order-xxl-7
.order-xxl-8
.order-xxl-9
.order-xxl-10
.order-xxl-11
.order-xxl-12
Align content

Utilisez align-content en complément des utilitaires de flexbox pour aligner les éléments sur l'axe transversal.
Choix de valeur entre start, end, center, between, around et stretch.

Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
<div class="d-flex align-content-start flex-wrap">
  ...
</div>
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
<div class="d-flex align-content-end flex-wrap">...</div>
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
<div class="d-flex align-content-center flex-wrap">...</div>
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
<div class="d-flex align-content-between flex-wrap">...</div>
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
<div class="d-flex align-content-around flex-wrap">...</div>
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
<div class="d-flex align-content-stretch flex-wrap">...</div>
Résumé des possibilités
.align-content-start
.align-content-end
.align-content-center
.align-content-between
.align-content-around
.align-content-stretch
.align-content-sm-start
.align-content-sm-end
.align-content-sm-center
.align-content-sm-between
.align-content-sm-around
.align-content-sm-stretch
.align-content-md-start
.align-content-md-end
.align-content-md-center
.align-content-md-between
.align-content-md-around
.align-content-md-stretch
.align-content-lg-start
.align-content-lg-end
.align-content-lg-center
.align-content-lg-between
.align-content-lg-around
.align-content-lg-stretch
.align-content-xl-start
.align-content-xl-end
.align-content-xl-center
.align-content-xl-between
.align-content-xl-around
.align-content-xl-stretch
.align-content-xxl-start
.align-content-xxl-end
.align-content-xxl-center
.align-content-xxl-between
.align-content-xxl-around
.align-content-xxl-stretch
Mais encore...

En savoir plus.