Problème :
Vous avez un conteneur div avec une hauteur réactive qui s'ajuste proportionnellement aux changements de largeur. Dans ce conteneur, vous disposez d’une image de différentes hauteurs. Votre défi est d'aligner verticalement l'image au milieu du conteneur quelle que soit sa hauteur.
Solution :
Pour réaliser un alignement vertical dans cet environnement réactif, nous introduisons une approche innovante impliquant le placement d'un élément en ligne à côté de l'image.
Vertical Alignement :
Avantages de cette approche :
Conteneur réactif :
Pour rendre la hauteur du conteneur flexible avec sa largeur, nous utilisons des valeurs de pourcentage sur la propriété padding-top :
Cette technique de remplissage peut également être appliquée à un div enfant ou à des pseudo-éléments CSS.
Placement du contenu :
Padding-top crée un espace excessif au-dessus et/ou en dessous du contenu dans le conteneur. Pour résoudre ce problème, nous enfermons le contenu dans un élément wrapper :
Final Mise en œuvre :
En combinant ces techniques, nous atteignons notre objectif :
<div class="responsive-container"> <div class="dummy"></div> <div class="img-container"> <img src="image.jpg" alt="Image"> </div> </div>
.responsive-container { width: 60%; height: 300px; /* Example height for demo purposes */ position: relative; } .img-container { text-align: center; font: 0/0 a; } .img-container:before { content: ' '; display: inline-block; vertical-align: middle; height: 100%; } .img-container img { vertical-align: middle; display: inline-block; max-height: 100%; /* Optional: Ensures image stays within container */ max-width: 100%; /* Optional: Ensures image stays within container */ }
Démonstration :
[Aligner verticalement l'image en Responsive Div](https://codepen.io/cristianorocha/pen/dywbQMV)
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!