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-flex
classe :
Exemple
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-flex
classe :
Exemple
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-row
pour 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
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-column
pour afficher les éléments flexibles verticalement (les uns au-dessus des autres) ou .flex-column-reverse
pour inverser la direction verticale :
Exemple
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 :center
between
around
Exemple
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-fill
sur les éléments flexibles pour les forcer à avoir des largeurs égales :
Exemple
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
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 .order
classes. 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
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
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-wrap
ou .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
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.
Exemple
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-baseline
et .align-items-stretch
(par défaut).
Cliquez sur les boutons ci-dessous pour voir la différence entre les cinq classes :
Exemple
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-baseline
et .align-self-stretch
(par défaut).
Cliquez sur les boutons ci-dessous pour voir la différence entre les cinq classes :
Exemple
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 |