Maison > interface Web > tutoriel CSS > Comment aligner verticalement des divisions de taille dynamique en CSS ?

Comment aligner verticalement des divisions de taille dynamique en CSS ?

Patricia Arquette
Libérer: 2024-11-02 12:07:02
original
208 Les gens l'ont consulté

How to Vertically Align Dynamically Sized Divs in CSS?

Alignement vertical de divs dimensionnés dynamiquement en CSS

L'alignement vertical d'un conteneur div peut poser un défi lorsque la hauteur et la largeur du div sont inconnues au préalable . Cela peut souvent se produire lorsque le div contient une image ou un objet Flash.

Alignement vertical avec des tailles dynamiques

Pour obtenir un alignement vertical dans ce scénario, nous pouvons exploiter la puissance de CSS2. Cette solution n'implique aucune astuce ni hack et repose uniquement sur les principes CSS.

La clé de l'alignement est la combinaison de alignement vertical : milieu et hauteur de ligne : 0 appliqué à l'élément enfant (« wrap ») dans le conteneur (« centre »). Cependant, pour que cela fonctionne, le conteneur doit avoir une hauteur de ligne fixe.

Structure HTML :

<code class="html"><span id="center">
    <span id="wrap">
        <img src="image.png" alt="" />
    </span>
</span></code>
Copier après la connexion

Styles CSS :

<code class="css">#center {
    position: relative;
    display: block;
    top: 50%;
    margin-top: -1000px;
    height: 2000px;
    text-align: center;
    line-height: 2000px;
}

#wrap {
    line-height: 0;
}

#wrap img {
    vertical-align: middle;
}</code>
Copier après la connexion

Détails de mise en œuvre :

  • Positionner le conteneur : Le div « centre » reçoit une position relative et est aligné verticalement à 50 % du conteneur parent. Sa hauteur est définie sur 2 000 px pour garantir un espace suffisant pour l'alignement.
  • Définissez la hauteur de la ligne sur 0 : Le div 'wrap' a sa hauteur de ligne définie sur 0, supprimant ainsi tout espace entre les lignes. .
  • Alignement du milieu : L'image enfant du div 'wrap' est alignée verticalement au centre à l'aide de 'vertical-align: middle'.

Compatibilité

Cette solution a été testée dans IE8, Opera, Safari, Firefox et Chrome.

IE7 Avertissement :

Dans IE7 , il est nécessaire de combiner les deux éléments les plus intérieurs en une seule ligne pour obtenir un bon alignement :

<code class="html"><span id="center">
    <span id="wrap"><img src="image.png" alt="" /></span>
</span></code>
Copier après la connexion

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!

source:php.cn
Déclaration de ce site Web
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
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal