Bootstrap 4 Flex


Bootstrap 4 Flex

Utilisez les classes flexibles pour contrôler la disposition des composants Bootstrap 4.


Boîte flexible

La plus grande différence entre Bootstrap 3 et Bootstrap 4 est que Bootstrap 4 utilise désormais flexbox, au lieu de flottants, pour gérer la mise en page.

Le module de mise en page de boîte flexible facilite la conception d'une structure de mise en page flexible et réactive sans utiliser de flottement ou de positionnement. Si vous débutez avec flex, vous pouvez en savoir plus dans notre didacticiel CSS Flexbox .

Remarque : Flexbox n'est pas pris en charge dans IE9 et les versions antérieures.

Si vous avez besoin de la prise en charge d'IE8-9, utilisez Bootstrap 3. Il s'agit de la version la plus stable de Bootstrap, et elle est toujours prise en charge par l'équipe pour les corrections de bogues critiques et les modifications de la documentation. Cependant, aucune nouvelle fonctionnalité ne lui sera ajoutée.

Pour créer un conteneur flexbox et transformer des enfants directs en éléments flexibles, utilisez la d-flexclasse :

Exemple

Flex item 1
Flex item 2
Flex item 3

Exemple

<div class="d-flex p-3 bg-secondary text-white">
  <div class="p-2 bg-info">Flex item 1</div>
  <div class="p-2 bg-warning">Flex item 2</div>
  <div class="p-2 bg-primary">Flex item 3</div>
</div>

Pour créer un conteneur flexbox en ligne, utilisez la d-inline-flexclasse :

Exemple

Flex item 1
Flex item 2
Flex item 3

Exemple

<div class="d-inline-flex p-3 bg-secondary text-white">
  <div class="p-2 bg-info">Flex item 1</div>
  <div class="p-2 bg-warning">Flex item 2</div>
  <div class="p-2 bg-primary">Flex item 3</div>
</div>

Orientation horizontale

Utilisez .flex-rowpour afficher les éléments flexibles horizontalement (côte à côte). C'est la valeur par défaut.

Astuce : Utilisez .flex-row-reverse pour aligner à droite la direction horizontale :

Exemple

Flex item 1
Flex item 2
Flex item 3
Flex item 1
Flex item 2
Flex item 3

Exemple

<div class="d-flex flex-row bg-secondary">
  <div class="p-2 bg-info">Flex item 1</div>
  <div class="p-2 bg-warning">Flex item 2</div>
  <div class="p-2 bg-primary">Flex item 3</div>
</div>

<div class="d-flex flex-row-reverse bg-secondary">
  <div class="p-2 bg-info">Flex item 1</div>
  <div class="p-2 bg-warning">Flex item 2</div>
  <div class="p-2 bg-primary">Flex item 3</div>
</div>

Direction verticale

Utilisez .flex-columnpour afficher les éléments flexibles verticalement (les uns au-dessus des autres) ou .flex-column-reverse pour inverser la direction verticale :

Exemple

Flex item 1
Flex item 2
Flex item 3
Flex item 1
Flex item 2
Flex item 3

Exemple

<div class="d-flex flex-column">
  <div class="p-2 bg-info">Flex item 1</div>
  <div class="p-2 bg-warning">Flex item 2</div>
  <div class="p-2 bg-primary">Flex item 3</div>
</div>

<div class="d-flex flex-column-reverse">
  <div class="p-2 bg-info">Flex item 1</div>
  <div class="p-2 bg-warning">Flex item 2</div>
  <div class="p-2 bg-primary">Flex item 3</div>
</div>


Justifier le contenu

Utilisez les .justify-content-*classes pour modifier l'alignement des éléments flexibles. Les classes valides sont start(par défaut) , end, ou :centerbetweenaround

Exemple

Flex item 1
Flex item 2
Flex item 3
Flex item 1
Flex item 2
Flex item 3
Flex item 1
Flex item 2
Flex item 3
Flex item 1
Flex item 2
Flex item 3
Flex item 1
Flex item 2
Flex item 3

Exemple

<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>

Remplissage / Largeurs égales

Utilisez .flex-fillsur les éléments flexibles pour les forcer à avoir des largeurs égales :

Exemple

Flex item 1
Flex item 2
Flex item 3

Exemple

<div class="d-flex">
  <div class="p-2 bg-info flex-fill">Flex item 1</div>
  <div class="p-2 bg-warning flex-fill">Flex item 2</div>
  <div class="p-2 bg-primary flex-fill">Flex item 3</div>
</div>

Croître

Utilisez .flex-grow-1-le sur un élément flexible pour occuper le reste de l'espace. Dans l'exemple ci-dessous, les deux premiers éléments flexibles occupent l'espace nécessaire, tandis que le dernier élément occupe le reste de l'espace disponible :

Exemple

Flex item 1
Flex item 2
Flex item 3

Exemple

<div class="d-flex">
  <div class="p-2 bg-info">Flex item 1</div>
  <div class="p-2 bg-warning">Flex item 2</div>
  <div class="p-2 bg-primary flex-grow-1">Flex item 3</div>
</div>

Conseil : utilisez .flex-shrink-1-le sur un élément flexible pour le faire rétrécir si nécessaire.


Commander

Modifiez l'ordre visuel d'un ou plusieurs éléments flexibles spécifiques avec les .orderclasses. Les classes valides vont de 0 à 12, où le nombre le plus bas a la priorité la plus élevée (ordre-1 est affiché avant ordre-2, etc.) :

Exemple

Flex item 1
Flex item 2
Flex item 3

Exemple

<div class="d-flex bg-secondary">
  <div class="p-2 bg-info order-3">Flex item 1</div>
  <div class="p-2 bg-warning order-2">Flex item 2</div>
  <div class="p-2 bg-primary order-1">Flex item 3</div>
</div>

Marges automatiques

Ajoutez facilement des marges automatiques aux éléments flexibles avec .mr-auto(pousser les éléments vers la droite) ou en utilisant .ml-auto(pousser les éléments vers la gauche) :

Exemple

Flex item 1
Flex item 2
Flex item 3
Flex item 1
Flex item 2
Flex item 3

Exemple

<div class="d-flex bg-secondary">
  <div class="p-2 mr-auto bg-info">Flex item 1</div>
  <div class="p-2 bg-warning">Flex item 2</div>
  <div class="p-2 bg-primary">Flex item 3</div>
</div>

<div class="d-flex bg-secondary">
  <div class="p-2 bg-info">Flex item 1</div>
  <div class="p-2 bg-warning">Flex item 2</div>
  <div class="p-2 ml-auto bg-primary">Flex item 3</div>
</div>


Envelopper

Contrôlez la manière dont les éléments flexibles s'enroulent dans un conteneur flexible avec .flex-nowrap(par défaut) .flex-wrapou .flex-wrap-reverse.

Cliquez sur les boutons ci-dessous pour voir la différence entre les trois classes, en modifiant l'habillage des éléments flexibles dans la boîte d'exemple :

Exemple

Flex item 1
Flex item 2
Flex item 3
Flex item 4
Flex item 5
Flex item 6
Flex item 7
Flex item 8
Flex item 9
Flex item 10
Flex item 11
Flex item 12
Flex item 13
Flex item 14
Flex item 15
Flex item 16
Flex item 17
Flex item 18
Flex item 19
Flex item 20
Flex item 21
Flex item 22
Flex item 23
Flex item 24
Flex item 25

Exemple

<div class="d-flex flex-wrap">..</div>

<div class="d-flex flex-wrap-reverse">..</div>

<div class="d-flex flex-nowrap">..</div>

Aligner le contenu

Contrôlez l'alignement vertical des éléments flexibles rassemblés.align-content-* avec les classes. Les classes valides sont .align-content-start(par défaut) , .align-content-end, .align-content-center, et ..align-content-between.align-content-around.align-content-stretch

Remarque : Ces classes n'ont aucun effet sur les lignes uniques d'éléments flexibles.

Cliquez sur les boutons ci-dessous pour voir la différence entre les cinq classes, en modifiant l'alignement vertical des éléments flexibles dans la boîte d'exemple :

Exemple

Flex item 1
Flex item 2
Flex item 3
Flex item 4
Flex item 5
Flex item 6
Flex item 7
Flex item 8
Flex item 9
Flex item 10
Flex item 11
Flex item 12
Flex item 13
Flex item 14
Flex item 15
Flex item 16
Flex item 17
Flex item 18
Flex item 19
Flex item 20
Flex item 21
Flex item 22
Flex item 23
Flex item 24
Flex item 25

Exemple

<div class="d-flex flex-wrap align-content-start">..</div>

<div class="d-flex flex-wrap align-content-end">..</div>

<div class="d-flex flex-wrap align-content-center">..</div>

<div class="d-flex flex-wrap align-content-around">..</div>

<div class="d-flex flex-wrap align-content-stretch">..</div>

Aligner les éléments

Contrôlez l'alignement vertical de rangées uniques d'éléments flexibles avec les .align-items-* classes. Les classes valides sont .align-items-start, .align-items-end, .align-items-center, .align-items-baselineet .align-items-stretch (par défaut).

Cliquez sur les boutons ci-dessous pour voir la différence entre les cinq classes :

Exemple

Flex item 1
Flex item 2
Flex item 3

Exemple

<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>

Aligner soi-même

Contrôlez l'alignement vertical d' un élément flexible spécifié avec les .align-self-* classes. Les classes valides sont .align-self-start, .align-self-end, .align-self-center, .align-self-baselineet .align-self-stretch (par défaut).

Cliquez sur les boutons ci-dessous pour voir la différence entre les cinq classes :

Exemple

Flex item 1
Flex item 2
Flex item 3

Exemple

<div class="d-flex bg-light" style="height:150px">
  <div class="p-2 border">Flex item 1</div>
  <div class="p-2 border align-self-start">Flex item 2</div>
  <div class="p-2 border">Flex item 3</div>
</div>

Cours flexibles réactifs

All flex classes comes with additional responsive classes, which makes it easy to set a specific flex class on a specific screen size.

The * symbol can be replaced with sm, md, lg or xl, which represents small, medium, large or xlarge screens.

Class Description Example
Flex Container    
.d-*-flex Creates a flexbox container for different screens
.d-*-inline-flex Creates an inline flexbox container for different screens
Direction    
.flex-*-row Display flex items horizontally on different screens
.flex-*-row-reverse Display flex items horizontally, and right-aligned, on different screens
.flex-*-column Display flex items vertically on different screens
.flex-*-column-reverse Display flex items vertically, with reversed order, on different screens screens
Justified Content    
.justify-content-*-start Display flex items from the start (left-aligned) on different screens
.justify-content-*-end Display flex items at the end (right-aligned) on different screens
.justify-content-*-center Display flex items in the center of a flex container on different screens
.justify-content-*-between Display flex items in "between" on different screens
.justify-content-*-around Display flex items "around" on different screens
Fill / Equal Width    
.flex-*-fill Force flex items into equal widths on different screens
Grow    
.flex-*-grow-0 Don't make the items grow on different screens  
.flex-*-grow-1 Make items grow on different screens  
Shrink    
.flex-*-shrink-0 Don't make the items shrink on diferent screens  
.flex-*-shrink-1 Make items shrink on different screens  
Order    
.order-*-0-12 Change the order from 0 to 12 on small screens
Wrap    
.flex-*-nowrap Don't wrap items on different screens
.flex-*-wrap Wrap items on different screens
.flex-*-wrap-reverse Reverse the wrapping of items on different screens
Align Content    
.align-content-*-start Align gathered items from the start on different screens
.align-content-*-end Align gathered items at the end on different screens
.align-content-*-center Align gathered items in the center on different screens
.align-content-*-around Align gathered items "around" on different screens
.align-content-*-stretch Stretch gathered items on different screens
Align Items    
.align-items-*-start Align single rows of items from the start on different screens
.align-items-*-end Align single rows of items at the end on different screens
.align-items-*-center Align single rows of items in the center on different screens
.align-items-*-baseline Align single rows of items on the baseline on different screens
.align-items-*-stretch Stretch single rows of items on different screens
Align Self    
.align-self-*-start Align a flex item from the start on different screens
.align-self-*-end Align a flex item at the end on different screens
.align-self-*-center Align a flex item in the center on different screens
.align-self-*-baseline Align a flex item on the baseline on different screens
.align-self-*-stretch Stretch a flex item on different screens