Depuis 2010 · Plus de 2 millions d’utilisations d’outils par mois
Depuis 2010
Ajouter à Chrome

Ma Boîte à Outils

Mode Automatique

Aucun outil enregistré pour l’instant.

Passer à la Version Premium
Outils associés
Générateur de Grille CSSGénérateur de Box Shadow CSSGénérateur de dégradé
Page d'accueil > Outils pour webmestres
 

Bac à Sable CSS Flexbox

Bac à sable CSS Flexbox interactif avec aperçu en direct, contrôles par élément, préréglages réels (Holy Grail, grille, navbar, modale) et export CSS. Apprenez flexbox en expérimentant.

Utilisation gratuiteSans inscriptionRésultats instantanés
Bac à Sable CSS FlexboxEssayez maintenant — gratuit ▼
⚡ Mises en page rapides (cliquer pour charger)
▦ Aperçu en direct
axe principal axe transversal 0 éléments astuce : cliquez sur un élément pour modifier
⚙ Conteneur (.flex-container)
flex-direction ?
flex-wrap ?
justify-content ?
align-items ?
align-content ?
gap 8px
8px
✦ Élément sélectionné (.flex-item)
Cliquez sur un élément dans l'aperçu pour modifier ses propriétés.
📖 Aide-mémoire rapide — modèles courants
Je veux…Utilisez ceci
Centrer parfaitement un élémentjustify-content: center; align-items: center
Colonnes de largeur égaleflex: 1 sur chaque élément
Pousser un élément vers la droitemargin-left: auto sur cet élément
Enrouler les cartes sur petits écransflex-wrap: wrap + flex: 1 1 240px
Inverser l'ordre sur mobileflex-direction: row-reverse dans une media query
Pied de page collant en basbody: display: flex; flex-direction: column; min-height: 100vh
Espace égal entre les élémentsjustify-content: space-between
Empêcher un élément de rétrécirflex-shrink: 0 sur celui-ci
CSS Généré
HTML Généré

Embed Bac à Sable CSS Flexbox Widget

Bac à Sable CSS Flexbox

Le Bac à Sable CSS Flexbox est un environnement d'apprentissage interactif et un générateur de code pour le module de mise en page moderne CSS Flexible Box Layout. Ajustez les propriétés du conteneur (flex-direction, justify-content, align-items, gap) et les propriétés par élément (flex-grow, flex-shrink, flex-basis, align-self, order) et voyez votre mise en page se mettre à jour en temps réel. Lorsque vous obtenez un résultat satisfaisant, copiez le CSS et le HTML prêt à l'emploi directement dans votre projet.

Qu'est-ce que CSS Flexbox ?

CSS Flexbox (Flexible Box Layout) est un modèle de mise en page unidimensionnel conçu pour distribuer l'espace le long d'un seul axe (une ligne ou une colonne) et aligner les éléments à l'intérieur d'un conteneur. Il remplace les anciennes techniques telles que les flottants (floats) et les astuces inline-block pour les barres de navigation, les rangées de cartes, le contenu centré et toute interface utilisateur où les éléments doivent s'adapter naturellement à leur conteneur. Contrairement à CSS Grid, qui est bidimensionnel, Flexbox excelle dans les arrangements simples où vous contrôlez l'alignement dans une seule direction à la fois.

Comment utiliser ce bac à sable

  1. Choisissez un préréglage (optionnel) : Choisissez Saint-Graal, Grille de cartes, Barre de navigation, Hero, Modale ou Pied de page collant pour charger un point de départ concret. Chaque préréglage est une mise en page complète et fonctionnelle que vous pouvez étudier ou modifier.
  2. Ajustez les propriétés du conteneur : Utilisez les contrôles segmentés dans le panneau de droite pour définir flex-direction, flex-wrap, justify-content, align-items, align-content et gap. La scène visuelle se met à jour immédiatement.
  3. Modifiez les éléments individuels : Cliquez sur n'importe quel élément de l'aperçu pour le sélectionner. Remplacez son order, flex-grow, flex-shrink, flex-basis et align-self indépendamment du reste. Les éléments avec des remplacements sont marqués d'un petit badge.
  4. Ajoutez ou supprimez des éléments : Utilisez Ajouter un élément et Supprimer la sélection pour modifier le nombre d'éléments et voir comment la mise en page réagit.
  5. Copiez le code : La section Code généré en bas reflète toujours votre mise en page actuelle. Copiez le CSS, le HTML ou les deux en un seul clic.

Référence des propriétés du conteneur

Le conteneur flex est l'élément parent avec display: flex. Ces propriétés contrôlent la manière dont tous ses enfants se comportent ensemble.

PropriétéValeursEffet
flex-direction row · row-reverse · column · column-reverse Définit la direction de l'axe principal. row dispose les éléments de gauche à droite (par défaut) ; column les empile verticalement.
flex-wrap nowrap · wrap · wrap-reverse Contrôle si les éléments restent sur une seule ligne ou s'enroulent sur plusieurs lignes lorsque l'espace manque.
justify-content flex-start · center · flex-end · space-between · space-around · space-evenly Aligne les éléments le long de l'axe principal. Distribue l'espace libre sur les côtés ou entre les éléments.
align-items stretch · flex-start · center · flex-end · baseline Aligne les éléments le long de l'axe transversal (perpendiculaire à l'axe principal).
align-content stretch · flex-start · center · flex-end · space-between · space-around Aligne les lignes enroulées le long de l'axe transversal. Ne prend effet que lorsque les éléments s'enroulent sur plusieurs lignes.
gap longueur, ex: 8px, 1rem Définit la gouttière entre les éléments flex. Remplace l'ancien modèle d'espacement basé sur margin.

Référence des propriétés des éléments

Ces propriétés s'appliquent aux éléments flex individuels (enfants d'un conteneur flex) et remplacent les valeurs par défaut du conteneur pour cet élément uniquement.

PropriétéValeursEffet
order entier (par défaut 0) Réordonne les éléments visuellement sans changer le HTML. Les nombres plus bas s'affichent en premier ; les valeurs négatives déplacent les éléments au début.
flex-grow nombre (par défaut 0) Définit la quantité d'espace libre du conteneur que cet élément doit absorber par rapport aux autres. 1 sur chaque élément répartit l'espace équitablement.
flex-shrink nombre (par défaut 1) Définit dans quelle mesure un élément peut rétrécir lorsqu'il n'y a pas assez de place. 0 signifie ne jamais rétrécir — l'élément conserve sa taille déclarée.
flex-basis auto · longueur · pourcentage Définit la taille initiale d'un élément avant la distribution de l'espace libre. Définit effectivement la taille "idéale" de l'élément sur l'axe principal.
align-self auto · même chose qu'align-items Remplace l'align-items du conteneur pour un seul élément.

Quelle est la différence entre justify-content et align-items ?

justify-content contrôle l'alignement le long de l'axe principal, tandis qu'align-items contrôle l'alignement le long de l'axe transversal. L'axe principal est celui défini par flex-direction — horizontal pour row, vertical pour column. Lorsque vous changez flex-direction de row en column, les deux axes s'inversent, donc justify-content devient vertical et align-items devient horizontal. Cet échange est l'une des sources de confusion les plus courantes lors de l'apprentissage de Flexbox ; les indicateurs d'axe du bac à sable situés sous l'aperçu aident à le visualiser.

Comment centrer un élément avec Flexbox ?

Pour centrer un seul élément à la fois horizontalement et verticalement :

Trois lignes :
display: flex;
justify-content: center;  /* horizontal */
align-items: center;  /* vertical */

C'est le remplacement moderne des anciennes astuces de centrage impliquant margin: auto, transform: translate(-50%, -50%) ou position: absolute. Essayez-le dans le bac à sable en sélectionnant le préréglage Centrage modale.

Explication des préréglages de mise en page réels

Mise en page Saint-Graal

La mise en page classique d'une page à trois colonnes : barre latérale gauche, contenu principal, barre latérale droite — avec un en-tête et un pied de page. Historiquement très difficile à construire avec des flottants ; Flexbox la rend triviale. La colonne du milieu utilise flex: 1 pour absorber tout l'espace horizontal restant tandis que les colonnes latérales conservent leurs largeurs déclarées.

Grille de cartes

Une rangée de cartes s'enroulant qui passent sur de nouvelles lignes à mesure que la fenêtre se rétrécit. Utilise flex-wrap: wrap avec chaque carte dotée de flex: 1 1 240px, ce qui signifie que la carte s'étend et se rétrécit mais ne devient jamais plus étroite que 240px.

Barre de navigation

Une barre de navigation horizontale avec un logo à gauche et des liens à droite. L'astuce consiste à utiliser justify-content: space-between avec le logo et le groupe de liens comme deux enfants, plus un conteneur flex interne pour les liens eux-mêmes.

Section Hero

Empilement vertical avec un contenu centré horizontalement et verticalement — parfait pour les zones d'accroche (hero) des pages de destination. Utilise flex-direction: column, justify-content: center et align-items: center sur un conteneur haut.

Centrage modale

Une boîte de dialogue modale parfaitement centrée dans sa superposition. La même recette de centrage en trois lignes montrée ci-dessus, appliquée à un conteneur de superposition plein écran.

Pied de page collant

Un pied de page qui reste au bas de la fenêtre lorsque le contenu est court, mais qui descend lorsque le contenu est long. Obtenu en donnant au corps (body) display: flex; flex-direction: column; min-height: 100vh et au contenu principal flex: 1.

Quelle est la différence entre flex-grow, flex-shrink et flex-basis ?

Ces trois propriétés (combinées dans le raccourci flex) décrivent comment un élément gère l'espace :

Le raccourci flex: 1 équivaut à flex: 1 1 0% — extension égale, rétrécissement égal, base zéro — ce qui signifie que tous les éléments prennent une part égale du conteneur quel que soit leur contenu. flex: auto équivaut à flex: 1 1 auto, qui respecte la taille du contenu comme base.

Quand devrais-je utiliser Flexbox vs Grid ?

Utilisez Flexbox pour les mises en page unidimensionnelles où les éléments circulent dans une seule direction — une rangée de boutons, une barre de navigation, une seule colonne de cartes. Flexbox est sensible au contenu et idéal lorsque vous voulez que les éléments définissent leur propre taille.

Utilisez CSS Grid pour les mises en page bidimensionnelles où vous devez contrôler simultanément les lignes et les colonnes — mises en page de pages entières, galeries d'images, tableaux de bord. Grid est sensible à la mise en page et vous permet de placer des éléments dans des pistes nommées.

Les deux sont complémentaires et non concurrents. De nombreux designs réels les combinent : une mise en page de page Grid avec des barres de navigation Flexbox et des rangées de cartes à l'intérieur.

Conseils pour maîtriser Flexbox

Support des navigateurs et compatibilité

CSS Flexbox est supporté dans tous les navigateurs modernes, y compris Chrome, Firefox, Safari, Edge et tous les principaux navigateurs mobiles. La propriété gap dans les conteneurs flex a atteint un support universel en 2021. Les anciens navigateurs (IE10/11) nécessitent des préfixes constructeurs et présentent plusieurs bugs documentés ; pour ces publics, consultez flexbugs.

Foire Aux Questions

Pourquoi mon élément flex déborde-t-il du conteneur ?

Les éléments flex ont un min-width: auto implicite basé sur leur contenu. Des mots longs, des blocs de code ou du texte préformaté peuvent forcer un élément à être plus large que le conteneur. Corrigez cela en définissant min-width: 0 sur l'élément (ou min-height: 0 pour les mises en page en colonnes).

Quelle est la différence entre space-between, space-around et space-evenly ?

space-between ne laisse aucun espace aux extrémités et un espace égal entre les éléments. space-around place un demi-espace à chaque extrémité et des espaces complets entre les éléments. space-evenly place un espace égal aux extrémités et entre les éléments. Basculez entre eux dans le bac à sable pour ressentir la différence.

Puis-je animer les propriétés flex ?

Oui. flex-grow, flex-shrink, flex-basis, order et gap peuvent faire l'objet de transitions. L'animation de flex-direction, justify-content et align-items n'est pas supportée car ce sont des propriétés énumérées discrètes.

Le bac à sable fonctionne-t-il hors ligne ?

Tous les calculs Flexbox se font dans votre navigateur en utilisant le CSS natif. Une fois la page chargée, vous pouvez utiliser le bac à sable sans connexion internet — il n'y a pas d'appels API ni de calcul côté serveur.

Le code généré est-il prêt pour la production ?

Oui. Le CSS exporté utilise des propriétés standard supportées par tous les navigateurs modernes. Le HTML utilise des noms de classes sémantiques (flex-container, flex-item) que vous pouvez renommer pour les adapter aux conventions de votre projet.

Ressources supplémentaires

Citez ce contenu, cette page ou cet outil comme suit :

"Bac à Sable CSS Flexbox" sur https://MiniWebtool.com/fr/bac-a-sable-css-flexbox/ de MiniWebtool, https://MiniWebtool.com/

par l'équipe miniwebtool. Mis à jour : 25 avr. 2026

Outils pour webmestres:

Outils populaires et mis à jour:

Compilateur Less vers CSSCompilateur SCSS en CSSCompresseur CSS en ligneTout voir →
Page d'accueil > Outils pour webmestres > Bac à Sable CSS Flexbox