Pour aligner les éléments dans un conteneur Flexbox à la fois horizontalement et verticalement, vous devez comprendre le modèle de mise en page Flexbox, qui est conçu pour fournir un moyen plus efficace de disposer, d'aligner et de distribuer un espace entre les éléments dans un conteneur, même lorsque leurs tailles sont inconnues et / ou dynamiques.
Alignement horizontal:
L'alignement horizontal dans Flexbox est géré par la propriété justify-content
appliquée au conteneur. Cette propriété peut prendre plusieurs valeurs:
flex-start
: les articles sont emballés vers le début de l'axe principal.flex-end
: les articles sont emballés vers l'extrémité de l'axe principal.center
: Les articles sont centrés le long de l'axe principal.space-between
: les éléments sont répartis uniformément dans la ligne; Le premier élément est sur la ligne de départ, le dernier élément sur la ligne d'extrémité.space-around
: Les articles sont répartis uniformément avec un espace égal autour d'eux.space-evenly
: les éléments sont distribués de sorte que l'espacement entre deux sujets d'alignement adjacents, avant le premier sujet d'alignement, et après le dernier sujet d'alignement est le même. Alignement vertical:
L'alignement vertical est contrôlé par la propriété align-items
, qui est appliquée au conteneur. Cette propriété affecte l'axe transversal (vertical, si l'axe principal est horizontal). Les valeurs possibles sont:
stretch
(par défaut): les éléments sont étirés pour remplir l'axe transversal du conteneur.flex-start
: les éléments sont placés au début de l'axe transversal.flex-end
: les articles sont placés à l'extrémité de l'axe transversal.center
: Les articles sont centrés sur l'axe transversal.baseline
: Les éléments sont alignés de telle sorte que leurs lignes de base s'alignent.Par exemple, pour centrer des éléments à la fois horizontalement et verticalement dans un conteneur Flexbox, vous pouvez utiliser le CSS suivant:
<code class="css">.container { display: flex; justify-content: center; /* horizontal alignment */ align-items: center; /* vertical alignment */ }</code>
Les propriétés justify-content
et align-items
dans Flexbox sont utilisées pour l'alignement, mais elles contrôlent différents axes d'alignement:
flex-direction
est définie sur column
. Il affecte la distribution de l'espace entre et autour des éléments flexibles.flex-direction
est définie sur column
. Il affecte la façon dont les éléments sont alignés en termes de leur hauteur dans l'axe transversal. En résumé, justify-content
traite de la distribution et de l'alignement des éléments sur l'axe principal, tandis que align-items
traitent avec l'alignement le long de l'axe transversal.
Pour centrer un seul élément à la fois horizontalement et verticalement dans un conteneur Flexbox, vous pouvez utiliser les propriétés CSS suivantes sur le conteneur:
<code class="css">.container { display: flex; justify-content: center; /* Centers the item horizontally */ align-items: center; /* Centers the item vertically */ height: 100vh; /* Optional: Sets a height for the container */ }</code>
Voici une ventilation de ce que fait chaque propriété:
display: flex;
Définit le conteneur pour utiliser la disposition Flexbox.justify-content: center;
Aligne l'élément flexible au centre de l'axe principal (horizontalement, si l'axe principal est horizontal).align-items: center;
Aligne l'élément flexible au centre de l'axe transversal (verticalement, si l'axe transversal est vertical). La height: 100vh;
est facultatif et utilisé pour définir le conteneur sur toute la hauteur de la fenêtre, garantissant que l'effet de centrage est visible sur l'ensemble de l'écran.
Pour aligner les éléments à la fin d'un conteneur Flexbox, vous devez considérer à la fois l'axe principal et l'axe transversal:
Axe principal (alignement horizontal):
justify-content: flex-end;
pour aligner les éléments à la fin de l'axe principal. Si l'axe principal est horizontal (par défaut), cela alignera les éléments à droite du conteneur.Axe transversal (alignement vertical):
align-items: flex-end;
pour aligner les éléments à la fin de l'axe transversal. Si l'axe transversal est vertical (par défaut), cela alignera les éléments au bas du conteneur.Voici un exemple de la façon d'aligner les éléments en bas à droite d'un conteneur Flexbox:
<code class="css">.container { display: flex; justify-content: flex-end; /* Aligns items to the right */ align-items: flex-end; /* Aligns items to the bottom */ }</code>
En utilisant justify-content: flex-end;
et align-items: flex-end;
, vous pouvez positionner des éléments flexibles à la fin des axes principaux et transversaux, ce qui entraîne un alignement dans le coin inférieur droit du conteneur.
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!