Centrer le texte verticalement dans un div à l'aide de CSS

CSS

Centrer verticalement le texte à l'intérieur d'un div avec CSS

L'alignement vertical du texte dans un div peut être un défi courant dans la conception Web. S’assurer que le texte est parfaitement centré peut améliorer l’esthétique et la lisibilité de votre contenu.

Dans cet article, nous explorerons différentes méthodes pour réaliser le centrage vertical du texte dans un div à l'aide de CSS. Nous commencerons par un exemple simple, puis approfondirons des techniques plus avancées pour garantir la compatibilité entre différents navigateurs et appareils.

Commande Description
display: flex; Définit un conteneur flexible, permettant l'utilisation de la disposition flexbox.
justify-content: center; Centre horizontalement les éléments flexibles dans le conteneur flexible.
align-items: center; Centre verticalement les éléments flexibles dans le conteneur flexible.
display: grid; Définit un conteneur de grille, permettant l'utilisation de la disposition en grille.
place-items: center; Centre les éléments horizontalement et verticalement dans un conteneur de grille.
display: table; Définit un élément en tant que tableau, permettant d'appliquer les propriétés de disposition du tableau.
display: table-cell; Définit un élément en tant que cellule de tableau, activant les propriétés d'alignement vertical.
vertical-align: middle; Centre verticalement le contenu dans un élément de cellule de tableau.
line-height: 170px; Définit la hauteur de la ligne égale à la hauteur du conteneur pour centrer verticalement le texte.

Techniques pour centrer le texte verticalement avec CSS

Dans le premier exemple de script, nous utilisons pour définir un conteneur flexible. Cela permet d’utiliser les propriétés de mise en page Flexbox. En définissant et , nous pouvons centrer le texte horizontalement et verticalement dans le

élément. Cette méthode est très efficace et simple à mettre en œuvre, ce qui en fait un choix populaire pour la conception Web moderne. Flexbox est particulièrement utile pour sa réactivité et sa facilité d'alignement, qui permettent aux développeurs de créer des mises en page qui s'adaptent bien aux différentes tailles et orientations d'écran.

Le deuxième exemple de script utilise la disposition CSS Grid en utilisant . En définissant , le texte est centré horizontalement et verticalement dans le conteneur de grille. CSS Grid offre un système plus puissant et plus flexible pour concevoir des mises en page Web par rapport aux méthodes traditionnelles. Il offre la possibilité de créer facilement des conceptions complexes et réactives. Le La commande est un moyen concis d’obtenir un centrage vertical et horizontal, simplifiant le code et améliorant la lisibilité.

Techniques CSS avancées pour le centrage vertical

Dans le troisième script, nous utilisons la méthode d'affichage de table. Paramètre sur le conteneur et sur un pseudo-élément créé avec nous permet d'utiliser le vertical-align: middle; propriété. Cette méthode imite le comportement des cellules d’un tableau, permettant de centrer verticalement le contenu. Bien que cette approche soit moins couramment utilisée dans la conception Web moderne, elle peut être utile pour maintenir la compatibilité avec les anciens navigateurs ou pour gérer du code existant. Il constitue un moyen fiable de centrer le contenu sans recourir à des systèmes de mise en page plus récents.

Le quatrième exemple de script utilise le propriété. En définissant le égale à la hauteur du conteneur, le texte est centré verticalement. Cette technique est simple et efficace pour le texte sur une seule ligne. Cependant, il peut ne pas convenir au texte multiligne ou au contenu dynamique où la hauteur du conteneur peut changer. Malgré ses limites, le La méthode est une solution simple et rapide pour centrer verticalement du texte dans des scénarios simples.

Utilisation de Flexbox pour le centrage vertical

Boîte flexible CSS

#box {
  height: 170px;
  width: 270px;
  background: #000;
  font-size: 48px;
  color: #FFF;
  display: flex;
  justify-content: center;
  align-items: center;
}
<div id="box">Lorem ipsum dolor sit</div>

Utilisation de la grille pour le centrage vertical

Grille CSS

#box {
  height: 170px;
  width: 270px;
  background: #000;
  font-size: 48px;
  color: #FFF;
  display: grid;
  place-items: center;
}
<div id="box">Lorem ipsum dolor sit</div>

Utilisation de l'affichage de table pour le centrage vertical

Affichage du tableau CSS

#box {
  height: 170px;
  width: 270px;
  background: #000;
  font-size: 48px;
  color: #FFF;
  display: table;
}
#box::before {
  content: "";
  display: table-cell;
  vertical-align: middle;
}
#box > div {
  display: inline-block;
  vertical-align: middle;
}
<div id="box"><div>Lorem ipsum dolor sit</div></div>

Utilisation de la hauteur de ligne pour le centrage vertical

Hauteur de la ligne CSS

#box {
  height: 170px;
  width: 270px;
  background: #000;
  font-size: 48px;
  color: #FFF;
  line-height: 170px;
  text-align: center;
}
<div id="box">Lorem ipsum dolor sit</div>

Explorer la transformation CSS pour le centrage vertical

Une autre méthode efficace pour centrer verticalement le texte dans un utilise le CSS propriété. En combinant avec transform: translateY(-50%);, nous pouvons réaliser un alignement vertical précis. Premièrement la est réglé sur pour servir de point de référence. Ensuite, un élément enfant avec est positionné dans les 50 % supérieurs du conteneur parent. Enfin, appliquer transform: translateY(-50%); déplace l'élément vers le haut de la moitié de sa propre hauteur, en le centrant parfaitement verticalement.

Cette méthode offre une grande flexibilité et fonctionne bien pour différents types de contenu, notamment le texte et les images. Ceci est particulièrement utile lorsqu'il s'agit de contenu dynamique, car l'effet de centrage reste cohérent quelle que soit la hauteur du contenu. De plus, en combinant avec d'autres propriétés CSS permet des conceptions de mise en page plus complexes et créatives. Bien que cette approche nécessite un peu plus de code par rapport à Flexbox ou Grid, elle offre un contrôle précis sur le positionnement des éléments.

  1. Quelle est la manière la plus simple de centrer verticalement le texte dans un div ?
  2. En utilisant avec et est souvent la méthode la plus simple et la plus efficace.
  3. Comment centrer verticalement le texte dans les anciens navigateurs ?
  4. Utilisation de la méthode d'affichage de tableau avec et peut aider à réaliser un centrage vertical dans les anciens navigateurs.
  5. CSS Grid peut-il être utilisé pour centrer le texte verticalement ?
  6. Oui, CSS Grid peut centrer le texte verticalement en utilisant et .
  7. Est-il possible de centrer verticalement un texte multiligne ?
  8. Oui, l'utilisation de Flexbox ou CSS Grid peut facilement centrer du texte multiligne verticalement dans un conteneur.
  9. Comment centrer verticalement un texte avec une hauteur de conteneur connue ?
  10. Vous pouvez définir le propriété pour correspondre à la hauteur du conteneur, centrant ainsi efficacement le texte.
  11. Et si la hauteur du conteneur était dynamique ?
  12. À l'aide de Flexbox, Grid ou du Cette propriété garantit un centrage vertical cohérent, même avec des hauteurs de conteneur dynamiques.
  13. Y a-t-il des inconvénients à utiliser ?
  14. Bien qu'efficace, cela nécessite que le parent ait et peut être légèrement plus complexe à mettre en œuvre que Flexbox ou Grid.
  15. Comment centrer verticalement le texte dans un design réactif ?
  16. L'utilisation de Flexbox ou CSS Grid est fortement recommandée pour les conceptions réactives, car elles s'adaptent bien aux différentes tailles et orientations d'écran.

Atteindre le centrage vertical du texte dans un div peut être réalisé grâce à plusieurs méthodes efficaces. Les techniques modernes telles que Flexbox et Grid offrent le plus de flexibilité et de facilité de mise en œuvre. Les méthodes plus anciennes, telles que l'affichage de tableau et la hauteur de ligne, peuvent encore être utiles dans des cas spécifiques. En comprenant et en appliquant ces différentes approches, les développeurs peuvent garantir que leur contenu est visuellement attrayant et correctement aligné sur différents appareils et navigateurs.