Maison  >  Article  >  interface Web  >  Comment centrer un conteneur et aligner à gauche les éléments enfants dans une grille réactive ?

Comment centrer un conteneur et aligner à gauche les éléments enfants dans une grille réactive ?

Mary-Kate Olsen
Mary-Kate Olsenoriginal
2024-11-01 17:34:02521parcourir

How to Center a Container and Left-Align Child Elements in a Responsive Grid?

Aligner le conteneur au centre et aligner les éléments enfants à gauche

Problème

Vous souhaitez afficher des images dans une grille réactive, en les centrant horizontalement et en les alignant les laisser dans chaque rangée, tout en maintenant une distance fixe entre eux. Les images doivent s'enrouler automatiquement lorsque la fenêtre du navigateur est redimensionnée pour s'adapter au nombre maximum par ligne sans modifier leur taille.

Solution

Obtenir la mise en page souhaitée uniquement avec CSS peut être un défi. Voici une approche qui exploite les requêtes multimédias pour ajuster la largeur des divs internes en fonction des dimensions de la fenêtre d'affichage :

Code

<code class="css">body {
    margin: 10px 0;
}
.outer {
    text-align: center;
}
.inner {
    font-size: 0; /* fox inline gaps */
    display: inline-block;
    text-align: left;
}
.item {
    font-size: 16px; /* reset font size */
    display: inline-block;
    margin: 5px; /* gutter */
}
.item img {
    vertical-align: top;
}
@media (max-width: 551px) { /* ((100+5+5)x5)+1 */
    .inner {
        width: 440px; /* (100+5+5)x4 */
    }
}
@media (max-width: 441px) {
    .inner {
        width: 330px;
    }
}
@media (max-width: 331px) {
    .inner {
        width: 220px;
    }
}
@media (max-width: 221px) {
    .inner {
        width: 110px;
    }
}</code>
<code class="html"><div class="outer">
    <div class="inner">
        <div class="item"><img src="//dummyimage.com/100"></div>
        <div class="item"><img src="//dummyimage.com/100"></div>
        <div class="item"><img src="//dummyimage.com/100"></div>
        <div class="item"><img src="//dummyimage.com/100"></div>
        <div class="item"><img src="//dummyimage.com/100"></div>
    </div>
</div></code>

Considérations

  • Envisagez d'utiliser JavaScript pour un grand nombre d'éléments.
  • Les préprocesseurs CSS peuvent améliorer la réutilisabilité du code.
  • Ajustez les points d'arrêt des requêtes multimédias selon vos besoins.

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