pinterest linkedin behance copy

Flexibilité

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

Appliquer display des 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 !
<div class="d-flex p-2 bd-highlight">I'm a flexbox container!</div>
Je suis un conteneur flexbox en ligne !
<div class="d-inline-flex p-2 bd-highlight">I'm an inline flexbox container!</div>

Des variantes réactives existent également pour .d-flex et .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).

Utiliser .flex-row pour définir une direction horizontale (la valeur par défaut du navigateur) ou .flex-row-reverse pour 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
<div class="d-flex flex-row bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-row-reverse bd-highlight">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>

Utiliser .flex-column pour définir une direction verticale ou .flex-column-reverse pour 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
<div class="d-flex flex-column bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">Flex item 3</div>
</div>
<div class="d-flex flex-column-reverse bd-highlight">
  <div class="p-2 bd-highlight">Flex item 1</div>
  <div class="p-2 bd-highlight">Flex item 2</div>
  <div class="p-2 bd-highlight">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

Utiliser justify-content les 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, around, ou 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

Utiliser align-items les 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, baseline, ou 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

Utiliser align-self les 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 sifflex-direction: column). Choisissez parmi les mêmes options que align-items: start, end, center, baseline, ou stretch (par défaut du navigateur).

Article flexible
Aligned flex item
Article flexible
Article flexible
Aligned flex item
Article flexible
Article flexible
Aligned flex item
Article flexible
Article flexible
Aligned flex item
Article flexible
Article flexible
Aligned flex item
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

Utiliser la .flex-fill classe 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
<div class="d-flex bd-highlight">
  <div class="p-2 flex-fill bd-highlight">Flex item with a lot of content</div>
  <div class="p-2 flex-fill bd-highlight">Flex item</div>
  <div class="p-2 flex-fill bd-highlight">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

Utiliser .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 article frlexible
<div class="d-flex bd-highlight">
  <div class="p-2 flex-grow-1 bd-highlight">Flex item</div>
  <div class="p-2 bd-highlight">Flex item</div>
  <div class="p-2 bd-highlight">Third flex item</div>
</div>

Utiliser .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-1 est 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
<div class="d-flex bd-highlight">
  <div class="p-2 w-100 bd-highlight">Flex item</div>
  <div class="p-2 flex-shrink-1 bd-highlight">Flex item</div>
</div>

Des variantes réactives existent également pour flex-grow et 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
<div class="d-flex bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item</div>
  <div class="p-2 bd-highlight">Flex item</div>
  <div class="p-2 bd-highlight">Flex item</div>
</div>

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

<div class="d-flex bd-highlight mb-3">
  <div class="p-2 bd-highlight">Flex item</div>
  <div class="p-2 bd-highlight">Flex item</div>
  <div class="ms-auto p-2 bd-highlight">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: column, et margin-top: auto ou margin-bottom: auto.

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

<div class="d-flex align-items-end flex-column bd-highlight mb-3" style="height: 200px;">
  <div class="p-2 bd-highlight">Flex item</div>
  <div class="p-2 bd-highlight">Flex item</div>
  <div class="mt-auto p-2 bd-highlight">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

Commande

Modifiez l' ordre visuel d'éléments flexibles spécifiques avec une poignée d' order utilitaires. 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 order prend n'importe quelle valeur entière de 0 à 5, ajoutez un CSS personnalisé pour toutes les valeurs supplémentaires nécessaires..

Premier article flexible
Second article flexible
Troisième article flexible
<div class="d-flex flex-nowrap bd-highlight">
  <div class="order-3 p-2 bd-highlight">First flex item</div>
  <div class="order-2 p-2 bd-highlight">Second flex item</div>
  <div class="order-1 p-2 bd-highlight">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-first et qui modifient le d'un élément en appliquant et , respectivement .order-last, order order: -1 et order: 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

Utiliser align-content les 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, around, ou stretch. Pour illustrer ces utilitaires, nous avons renforcé flex-wrap: wrap et augmenté le nombre d'éléments flexibles.

Attention ! 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-around
  • .align-content-stretch
  • .align-content-sm-start
  • .align-content-sm-end
  • .align-content-sm-center
  • .align-content-sm-around
  • .align-content-sm-stretch
  • .align-content-md-start
  • .align-content-md-end
  • .align-content-md-center
  • .align-content-md-around
  • .align-content-md-stretch
  • .align-content-lg-start
  • .align-content-lg-end
  • .align-content-lg-center
  • .align-content-lg-around
  • .align-content-lg-stretch
  • .align-content-xl-start
  • .align-content-xl-end
  • .align-content-xl-center
  • .align-content-xl-around
  • .align-content-xl-stretch
  • .align-content-xxl-start
  • .align-content-xxl-end
  • .align-content-xxl-center
  • .align-content-xxl-around
  • .align-content-xxl-stretch

Objet multimédia

Vous cherchez à répliquer le media object component 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.

PlaceholderImage
Il s'agit du contenu d'un composant multimédia. Vous pouvez le remplacer par n'importe quel contenu et l'ajuster au besoin.
<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 :

PlaceholderImage
Il s'agit du contenu d'un composant multimédia. Vous pouvez le remplacer par n'importe quel contenu et l'ajuster au besoin.
<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>

Sass

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
    ),
    "gap": (
      responsive: true,
      property: gap,
      class: gap,
      values: $spacers
    ),
    "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,
      ),
    ),
    

© 2010-2024 QZYcodes by Quazerty.