Explorer la propriété align-content dans Flexbox

CSSCSSBeginner
Pratiquer maintenant

💡 Ce tutoriel est traduit par l'IA à partir de la version anglaise. Pour voir la version originale, vous pouvez cliquer ici

Introduction

Dans ce laboratoire, vous allez explorer la propriété align-content dans Flexbox, une technique de mise en page CSS puissante pour créer des designs web flexibles et réactifs. En utilisant une approche étape par étape, vous allez apprendre à configurer un conteneur Flexbox avec plusieurs éléments, appliquer différentes stratégies d'alignement et comprendre comment la propriété align-content influence les mises en page Flex multi-lignes.

Le laboratoire vous guidera tout au long de la création d'une structure HTML, de l'ajout de styles CSS et de l'expérimentation avec diverses valeurs de align-content. À la fin de cette pratique, vous aurez acquis des compétences pratiques pour contrôler la distribution et l'alignement des éléments Flex sur plusieurs lignes, vous permettant de créer des mises en page de pages web plus sophistiquées et visuellement attrayantes.

Configure la structure HTML pour le conteneur Flexbox

Dans cette étape, vous allez apprendre à créer la structure HTML de base pour un conteneur Flexbox qui démontrera la propriété align-content. Nous commencerons par configurer un fichier HTML simple avec plusieurs éléments Flex pour montrer différentes techniques d'alignement.

Ouvrez le WebIDE et créez un nouveau fichier HTML nommé index.html dans le répertoire ~/project. Nous allons créer une structure de base avec un conteneur Flex et plusieurs éléments enfants.

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Exemple d'alignement Flexbox avec align-content</title>
    <style>
      /* Les styles CSS seront ajoutés dans l'étape suivante */
    </style>
  </head>
  <body>
    <div class="flex-container">
      <div class="flex-item">Élément 1</div>
      <div class="flex-item">Élément 2</div>
      <div class="flex-item">Élément 3</div>
      <div class="flex-item">Élément 4</div>
      <div class="flex-item">Élément 5</div>
      <div class="flex-item">Élément 6</div>
    </div>
  </body>
</html>

Analysons la structure HTML :

  • Nous avons créé un <div> avec la classe flex-container qui servira de notre conteneur Flex.
  • À l'intérieur du conteneur, nous avons ajouté six éléments <div> avec la classe flex-item.
  • Cette structure nous permettra de démontrer comment la propriété align-content fonctionne avec plusieurs lignes d'éléments Flex.

Exemple de sortie lorsqu'elle est affichée dans un navigateur :

[Mise en page de base avec 6 éléments sur une seule ligne ou plusieurs lignes]

Les points clés à comprendre sont :

  • Le conteneur contiendra plusieurs éléments Flex
  • Nous utiliserons plusieurs éléments pour montrer comment align-content affecte les mises en page multi-lignes
  • La structure de base est maintenant prête à être stylisée dans l'étape suivante

Créez un style CSS de base pour le conteneur Flex

Dans cette étape, vous allez ajouter des styles CSS pour transformer le conteneur HTML en une mise en page Flexbox et le préparer pour explorer la propriété align-content. Ouvrez le fichier index.html dans le WebIDE et mettez à jour la section <style> avec le CSS suivant :

<style>
  .flex-container {
        display: flex;
        flex-wrap: wrap;
        width: 300px;
        height: 300px;
        border: 2px solid #333;
        background-color: #f0f0f0;
    }

  .flex-item {
        width: 100px;
        height: 100px;
        margin: 5px;
        background-color: #4CAF50;
        color: white;
        display: flex;
        justify-content: center;
        align-items: center;
        font-family: Arial, sans-serif;
    }
</style>

Analysons les principales propriétés CSS :

  • display: flex; transforme le conteneur en un conteneur Flex
  • flex-wrap: wrap; permet aux éléments de passer à plusieurs lignes
  • width et height définissent une taille fixe pour le conteneur
  • Les styles .flex-item créent des éléments Flex visuellement distincts
  • justify-content et align-items centrent le texte à l'intérieur de chaque élément

Exemple de sortie lorsqu'elle est affichée dans un navigateur :

[Une mise en page en grille avec 6 boîtes vertes, chacune contenant du texte centré]

Les points clés à comprendre sont :

  • Flexbox est activé avec display: flex;
  • flex-wrap permet des mises en page multi-lignes
  • Chaque élément est stylisé pour être visuellement distinct
  • Le conteneur est prêt pour l'exploration de align-content

Implémentez la propriété d'alignement stretch pour align-content

Dans cette étape, vous allez explorer la propriété align-content: stretch, qui est le comportement par défaut pour les conteneurs Flex multi-lignes. Ouvrez votre fichier index.html et mettez à jour le CSS du .flex-container pour définir explicitement l'alignement stretch :

<style>
 .flex-container {
        display: flex;
        flex-wrap: wrap;
        width: 300px;
        height: 300px;
        border: 2px solid #333;
        background-color: #f0f0f0;
        align-content: stretch; /* Définit explicitement l'alignement stretch */
    }

 .flex-item {
        width: 100px;
        height: 100px;
        margin: 5px;
        background-color: #4CAF50;
        color: white;
        display: flex;
        justify-content: center;
        align-items: center;
        font-family: Arial, sans-serif;
    }
</style>

La propriété align-content: stretch effectue les opérations suivantes :

  • Rédistribue l'espace supplémentaire de manière uniforme entre et autour des lignes Flex
  • Étire les lignes Flex pour remplir l'axe transversal du conteneur
  • Assure que les éléments Flex s'étendent pour utiliser toute la hauteur du conteneur
  • C'est le comportement par défaut lorsqu'il y a plusieurs lignes

Visualisation de la sortie exemple :

[Conteneur Flex avec les éléments étirés pour remplir l'espace vertical disponible]
+-------------------+
|  Élément 1 Élément 2  |
|  Élément 3 Élément 4  |
|  Élément 5 Élément 6  |
+-------------------+

Points clés à comprendre :

  • align-content contrôle l'alignement des lignes Flex
  • stretch est la valeur par défaut pour les conteneurs Flex multi-lignes
  • Elle assure que les lignes Flex utilisent toute la hauteur du conteneur
  • Aide à créer des mises en page réactives et uniformément distribuées

Expérimentez avec différentes valeurs de align-content

Dans cette étape, vous allez explorer diverses valeurs de la propriété align-content pour comprendre comment elles affectent la disposition des éléments Flex dans un conteneur multi-lignes. Mettez à jour votre CSS pour expérimenter avec différentes options d'alignement :

<style>
.flex-container {
        display: flex;
        flex-wrap: wrap;
        width: 300px;
        height: 300px;
        border: 2px solid #333;
        background-color: #f0f0f0;
        /* Désactivez les commentaires pour voir les effets de différentes valeurs de align-content */
        /* align-content: stretch; */
        /* align-content: flex-start; */
        /* align-content: flex-end; */
        /* align-content: center; */
        /* align-content: space-between; */
        /* align-content: space-around; */
    }

.flex-item {
        width: 100px;
        height: 100px;
        margin: 5px;
        background-color: #4CAF50;
        color: white;
        display: flex;
        justify-content: center;
        align-items: center;
        font-family: Arial, sans-serif;
    }
</style>

Explorez ces valeurs de align-content :

  1. stretch (valeur par défaut) : Étire les lignes pour remplir le conteneur
  2. flex-start : Aline les lignes au début du conteneur
  3. flex-end : Aline les lignes à la fin du conteneur
  4. center : Centre les lignes dans le conteneur
  5. space-between : Rédistribue les lignes avec un espace égal entre elles
  6. space-around : Rédistribue les lignes avec un espace égal autour d'elles

Visualisations d'exemples de sortie :

stretch:        flex-start:     flex-end:
+----------+    +----------+    +----------+
| 1  2  3  |    | 1  2  3  |    | 1  2  3  |
| 4  5  6  |    |          |    |          |
+----------+    +----------+    +----------+

center:         space-between:  space-around:
+----------+    +----------+    +----------+
|   1 2 3  |    | 1  2  3  |    |  1  2  3 |
|   4 5 6  |    |          |    |          |
+----------+    +----------+    +----------+

Points clés à comprendre :

  • Désactivez les commentaires pour différentes valeurs de align-content
  • Observez comment les lignes sont positionnées dans le conteneur
  • Comprenez l'impact de chaque option d'alignement

Comprenez l'alignement des mises en page Flex multi-lignes

Dans cette étape, vous allez créer un exemple complet pour démontrer comment fonctionne l'alignement des mises en page Flex multi-lignes. Mettez à jour votre HTML et CSS pour explorer la relation entre flex-wrap et align-content :

<!doctype html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <title>Alignement des mises en page Flex multi-lignes</title>
    <style>
      .flex-container {
        display: flex;
        flex-wrap: wrap;
        width: 400px;
        height: 400px;
        border: 3px solid #333;
        background-color: #f0f0f0;
        align-content: center; /* Essayez différentes valeurs */
      }

      .flex-item {
        width: 120px;
        height: 120px;
        margin: 5px;
        background-color: #4caf50;
        color: white;
        display: flex;
        justify-content: center;
        align-items: center;
        font-family: Arial, sans-serif;
        font-size: 18px;
      }
    </style>
  </head>
  <body>
    <div class="flex-container">
      <div class="flex-item">Élément 1</div>
      <div class="flex-item">Élément 2</div>
      <div class="flex-item">Élément 3</div>
      <div class="flex-item">Élément 4</div>
      <div class="flex-item">Élément 5</div>
      <div class="flex-item">Élément 6</div>
    </div>
  </body>
</html>

Concepts clés à comprendre :

  • flex-wrap: wrap permet aux éléments de s'étaler sur plusieurs lignes
  • align-content contrôle l'alignement de ces lignes multiples
  • Différentes valeurs de align-content créent des modèles de mise en page uniques

Visualisations d'exemples de mise en page :

align-content: center       align-content: space-between
+----------------+          +----------------+
|   1  2  3      |          | 1  2  3        |
|   4  5  6      |          |                |
+----------------+          | 4  5  6        |
                            +----------------+

Expérimentez avec ces valeurs de align-content :

  1. center : Centre les lignes verticalement
  2. space-between : Rédistribue les lignes avec un espace égal
  3. space-around : Ajoute un espace égal autour des lignes
  4. flex-start : Aline les lignes en haut
  5. flex-end : Aline les lignes en bas

Sommaire

Dans ce laboratoire, les participants explorent la propriété align-content dans Flexbox en créant une mise en page HTML structurée avec plusieurs éléments Flex. Le laboratoire commence par la configuration d'un fichier HTML de base avec un conteneur Flex et six éléments enfants, démontrant la structure de base nécessaire pour expérimenter avec l'alignement des mises en page Flex multi-lignes.

Par une approche étape par étape, les apprentissants appliqueront des styles CSS pour transformer le conteneur en une mise en page flexible, implémenter différentes valeurs de align-content et comprendre comment cette propriété contrôle l'alignement des lignes Flex dans un conteneur Flex multi-lignes. L'exercice pratique fournit une expérience pratique dans la manipulation des mises en page Flex, aidant les développeurs à acquérir des connaissances sur les techniques de positionnement avancées de Flexbox.