Passer au contenu principal Passer à la navigation dans les documents
Check
in English

Fléchir

Gérez rapidement la mise en page, l'alignement et le dimensionnement des colonnes de la grille, la navigation, les composants, etc., grâce à une suite complète d'utilitaires flexibles réactifs. Pour des implémentations plus complexes, un CSS personnalisé peut être nécessaire.

Activer les comportements flexibles

Appliquez displaydes utilitaires pour créer un conteneur flexbox et transformer des éléments enfants directs en éléments flexibles. Les conteneurs et articles flexibles peuvent être modifiés davantage avec des propriétés flexibles supplémentaires.

Je suis un conteneur flexbox !
html
<div class="d-flex p-2">I'm a flexbox container!</div>
Je suis un conteneur flexbox en ligne !
html
<div class="d-inline-flex p-2">I'm an inline flexbox container!</div>

Des variantes réactives existent également pour .d-flexet .d-inline-flex.

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

Définissez la direction des éléments flexibles dans un conteneur flexible avec des utilitaires de direction. Dans la plupart des cas, vous pouvez omettre la classe horizontale ici car la valeur par défaut du navigateur est row. Cependant, vous pouvez rencontrer des situations où vous deviez définir explicitement cette valeur (comme les mises en page réactives).

Utilisez .flex-rowpour définir une direction horizontale (la valeur par défaut du navigateur) ou .flex-row-reversepour démarrer la direction horizontale à partir du côté opposé.

Élément flexible 1
Élément flexible 2
Élément flexible 3
Élément flexible 1
Élément flexible 2
Élément flexible 3
html
<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>

Utilisez .flex-columnpour définir une direction verticale ou .flex-column-reversepour démarrer la direction verticale à partir du côté opposé.

Élément flexible 1
Élément flexible 2
Élément flexible 3
Élément flexible 1
Élément flexible 2
Élément flexible 3
html
<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>

Des variantes réactives existent également pour flex-direction.

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

Justifier le contenu

Utilisez justify-contentles utilitaires sur les conteneurs flexbox pour modifier l'alignement des éléments flexibles sur l'axe principal (l'axe des x pour commencer, l'axe des y si flex-direction: column). Choisissez parmi start(par défaut du navigateur), end, center, between, aroundou evenly.

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>

Des variantes réactives existent également pour justify-content.

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

Aligner les éléments

Utilisez align-itemsles utilitaires sur les conteneurs flexbox pour modifier l'alignement des éléments flexibles sur l'axe transversal (l'axe y pour commencer, l'axe x si flex-direction: column). Choisissez parmi start, end, center, baselineou stretch(par défaut du navigateur).

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>

Des variantes réactives existent également pour align-items.

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

S'aligner

Utilisez align-selfles utilitaires sur les éléments flexibles pour modifier individuellement leur alignement sur l'axe transversal (l'axe des ordonnées pour commencer, l'axe des abscisses si flex-direction: column). Choisissez parmi les mêmes options que align-items: start, end, center, baseline, ou stretch(par défaut du navigateur).

Article flexible
Article flexible aligné
Article flexible
Article flexible
Article flexible aligné
Article flexible
Article flexible
Article flexible aligné
Article flexible
Article flexible
Article flexible aligné
Article flexible
Article flexible
Article 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>

Des variantes réactives existent également pour align-self.

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

Remplir

Utilisez la .flex-fillclasse sur une série d'éléments frères pour les forcer à avoir des largeurs égales à leur contenu (ou des largeurs égales si leur contenu ne dépasse pas leurs bordures) tout en occupant tout l'espace horizontal disponible.

Article flexible avec beaucoup de contenu
Article flexible
Article flexible
html
<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>

Des variantes réactives existent également pour flex-fill.

  • .flex-fill
  • .flex-sm-fill
  • .flex-md-fill
  • .flex-lg-fill
  • .flex-xl-fill
  • .flex-xxl-fill

Grandir et rétrécir

Utilisez .flex-grow-*des utilitaires pour activer la capacité d'un élément flexible à se développer pour remplir l'espace disponible. Dans l'exemple ci-dessous, les .flex-grow-1éléments utilisent tout l'espace disponible possible, tout en accordant aux deux éléments flexibles restants l'espace nécessaire.

Article flexible
Article flexible
Troisième élément flexible
html
<div class="d-flex">
  <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>

Utilisez .flex-shrink-*des utilitaires pour activer la capacité d'un élément flexible à rétrécir si nécessaire. Dans l'exemple ci-dessous, le deuxième élément flexible avec .flex-shrink-1est forcé d'envelopper son contenu sur une nouvelle ligne, « rétrécissant » pour laisser plus d'espace pour l'élément flexible précédent avec .w-100.

Article flexible
Article flexible
html
<div class="d-flex">
  <div class="p-2 w-100">Flex item</div>
  <div class="p-2 flex-shrink-1">Flex item</div>
</div>

Des variantes réactives existent également pour flex-growet flex-shrink.

  • .flex-{grow|shrink}-0
  • .flex-{grow|shrink}-1
  • .flex-sm-{grow|shrink}-0
  • .flex-sm-{grow|shrink}-1
  • .flex-md-{grow|shrink}-0
  • .flex-md-{grow|shrink}-1
  • .flex-lg-{grow|shrink}-0
  • .flex-lg-{grow|shrink}-1
  • .flex-xl-{grow|shrink}-0
  • .flex-xl-{grow|shrink}-1
  • .flex-xxl-{grow|shrink}-0
  • .flex-xxl-{grow|shrink}-1

Marges automatiques

Flexbox peut faire des choses assez impressionnantes lorsque vous mélangez des alignements flexibles avec des marges automatiques. Vous trouverez ci-dessous trois exemples de contrôle d'éléments flexibles via des marges automatiques : par défaut (pas de marge automatique), en poussant deux éléments vers la droite ( .me-auto) et en poussant deux éléments vers la gauche ( .ms-auto).

Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
html
<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="me-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="ms-auto p-2">Flex item</div>
</div>

Avec align-items

Déplacez verticalement un élément flexible vers le haut ou le bas d'un conteneur en mélangeant align-items, flex-direction: columnet margin-top: autoou margin-bottom: auto.

Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
Article flexible
html
<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>

Envelopper

Modifiez la façon dont les éléments flexibles s'enroulent dans un conteneur flexible. Choisissez entre aucun habillage (la valeur par défaut du navigateur) avec .flex-nowrap, habillage avec .flex-wrap, ou habillage inversé avec .flex-wrap-reverse.

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>

Des variantes réactives existent également pour flex-wrap.

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

Ordre

Modifiez l' ordre visuel d'éléments flexibles spécifiques avec une poignée d' orderutilitaires. Nous fournissons uniquement des options pour faire un article en premier ou en dernier, ainsi qu'une réinitialisation pour utiliser la commande DOM. Comme orderprend n'importe quelle valeur entière de 0 à 5, ajoutez un CSS personnalisé pour toutes les valeurs supplémentaires nécessaires.

Premier élément flexible
Deuxième élément flexible
Troisième élément flexible
html
<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>

Des variantes réactives existent également pour order.

  • .order-0
  • .order-1
  • .order-2
  • .order-3
  • .order-4
  • .order-5
  • .order-sm-0
  • .order-sm-1
  • .order-sm-2
  • .order-sm-3
  • .order-sm-4
  • .order-sm-5
  • .order-md-0
  • .order-md-1
  • .order-md-2
  • .order-md-3
  • .order-md-4
  • .order-md-5
  • .order-lg-0
  • .order-lg-1
  • .order-lg-2
  • .order-lg-3
  • .order-lg-4
  • .order-lg-5
  • .order-xl-0
  • .order-xl-1
  • .order-xl-2
  • .order-xl-3
  • .order-xl-4
  • .order-xl-5
  • .order-xxl-0
  • .order-xxl-1
  • .order-xxl-2
  • .order-xxl-3
  • .order-xxl-4
  • .order-xxl-5

De plus, il existe également des classes responsive .order-firstet qui modifient le d'un élément en appliquant et , respectivement..order-lastorderorder: -1order: 6

  • .order-first
  • .order-last
  • .order-sm-first
  • .order-sm-last
  • .order-md-first
  • .order-md-last
  • .order-lg-first
  • .order-lg-last
  • .order-xl-first
  • .order-xl-last
  • .order-xxl-first
  • .order-xxl-last

Aligner le contenu

Utilisez align-contentles utilitaires sur les conteneurs flexbox pour aligner les éléments flexibles ensemble sur l'axe transversal. Choisissez parmi start(par défaut du navigateur), end, center, between, aroundou stretch. Pour illustrer ces utilitaires, nous avons renforcé flex-wrap: wrapet augmenté le nombre d'éléments flexibles.

La tête haute! Cette propriété n'a aucun effet sur les lignes uniques d'éléments flexibles.

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>

Des variantes réactives existent également pour align-content.

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

Objet multimédia

Vous cherchez à répliquer le composant d'objet multimédia de Bootstrap 4 ? Recréez-le en un rien de temps avec quelques utilitaires flexibles qui permettent encore plus de flexibilité et de personnalisation qu'auparavant.

Placeholder Image
Il s'agit du contenu d'un composant multimédia. Vous pouvez le remplacer par n'importe quel contenu et l'ajuster au besoin.
html
<div class="d-flex">
  <div class="flex-shrink-0">
    <img src="..." alt="...">
  </div>
  <div class="flex-grow-1 ms-3">
    This is some content from a media component. You can replace this with any content and adjust it as needed.
  </div>
</div>

Et disons que vous voulez centrer verticalement le contenu à côté de l'image :

Placeholder Image
Il s'agit du contenu d'un composant multimédia. Vous pouvez le remplacer par n'importe quel contenu et l'ajuster au besoin.
html
<div class="d-flex align-items-center">
  <div class="flex-shrink-0">
    <img src="..." alt="...">
  </div>
  <div class="flex-grow-1 ms-3">
    This is some content from a media component. You can replace this with any content and adjust it as needed.
  </div>
</div>

Toupet

API utilitaires

Les utilitaires Flexbox sont déclarés dans notre API utilitaires au format scss/_utilities.scss. Apprenez à utiliser l'API des utilitaires.

    "flex": (
      responsive: true,
      property: flex,
      values: (fill: 1 1 auto)
    ),
    "flex-direction": (
      responsive: true,
      property: flex-direction,
      class: flex,
      values: row column row-reverse column-reverse
    ),
    "flex-grow": (
      responsive: true,
      property: flex-grow,
      class: flex,
      values: (
        grow-0: 0,
        grow-1: 1,
      )
    ),
    "flex-shrink": (
      responsive: true,
      property: flex-shrink,
      class: flex,
      values: (
        shrink-0: 0,
        shrink-1: 1,
      )
    ),
    "flex-wrap": (
      responsive: true,
      property: flex-wrap,
      class: flex,
      values: wrap nowrap wrap-reverse
    ),
    "justify-content": (
      responsive: true,
      property: justify-content,
      values: (
        start: flex-start,
        end: flex-end,
        center: center,
        between: space-between,
        around: space-around,
        evenly: space-evenly,
      )
    ),
    "align-items": (
      responsive: true,
      property: align-items,
      values: (
        start: flex-start,
        end: flex-end,
        center: center,
        baseline: baseline,
        stretch: stretch,
      )
    ),
    "align-content": (
      responsive: true,
      property: align-content,
      values: (
        start: flex-start,
        end: flex-end,
        center: center,
        between: space-between,
        around: space-around,
        stretch: stretch,
      )
    ),
    "align-self": (
      responsive: true,
      property: align-self,
      values: (
        auto: auto,
        start: flex-start,
        end: flex-end,
        center: center,
        baseline: baseline,
        stretch: stretch,
      )
    ),
    "order": (
      responsive: true,
      property: order,
      values: (
        first: -1,
        0: 0,
        1: 1,
        2: 2,
        3: 3,
        4: 4,
        5: 5,
        last: 6,
      ),
    ),