Maison >interface Web >tutoriel CSS >Comment puis-je centrer verticalement une division sans utiliser Flexbox ou le positionnement absolu ?

Comment puis-je centrer verticalement une division sans utiliser Flexbox ou le positionnement absolu ?

Susan Sarandon
Susan Sarandonoriginal
2024-12-30 17:42:15864parcourir

How Can I Vertically Center a Div Without Using Flexbox or Absolute Positioning?

Alignement vertical des div avec Margin:Auto

L'incapacité de centrer un div verticalement à l'aide de margin:auto provient probablement d'une idée fausse de son comportement . Contrairement à sa fonctionnalité d'alignement horizontal, l'alignement vertical ne se produit pas en appliquant margin:auto auto; sur un élément div.

Pourquoi Vertical-align:Middle échoue

Vertical-align:middle; ne convient pas aux éléments de niveau bloc comme les divs. Cette propriété s'applique aux éléments en ligne, qui sont forcés de s'aligner verticalement dans leur bloc conteneur.

Autres approches non valides

Plusieurs autres méthodes couramment tentées pour l'alignement vertical sont également inefficaces. :

  • margin-top:auto; et margin-bottom:auto: Ces marges sont intrinsèquement calculées à zéro, ne fournissant aucun espacement vertical.
  • margin-top:-50px: Les marges basées sur un pourcentage déterminent l'espacement par rapport au la largeur du conteneur, pas sa hauteur.
  • transform:translateY(-50%): Cette transformation CSS affecte uniquement le positionnement horizontal.

Solutions de contournement pour l'alignement vertical

Bien que l'alignement vertical avec les marges soit théoriquement impossible, des solutions de contournement existent :

  • Imbrication avec Display:Table: Cette technique utilise des éléments imbriqués avec display:table ; pour obtenir un centrage vertical.
  • Flexbox : Les navigateurs modernes prennent en charge Flexbox, qui offre une approche plus simple de l'alignement vertical.
  • Positionnement absolu : Position le div absolument dans son parent et utilisez transform:translateY(-50%) pour ajuster sa verticale position.

En comprenant les limites et en explorant des solutions alternatives, les développeurs peuvent aligner efficacement les div verticalement, garantissant ainsi une conception de site Web optimale.

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn