Maison  >  Article  >  interface Web  >  Apprenez les compétences CSS3 flexbox, comment obtenir une disposition à hauteur égale des images de pages Web ?

Apprenez les compétences CSS3 flexbox, comment obtenir une disposition à hauteur égale des images de pages Web ?

WBOY
WBOYoriginal
2023-09-09 12:27:34646parcourir

Apprenez les compétences CSS3 flexbox, comment obtenir une disposition à hauteur égale des images de pages Web ?

Apprenez les compétences CSS3 flexbox, comment obtenir une disposition à hauteur égale des images de pages Web ?

Dans la conception de sites Web, nous rencontrons souvent des situations où les images doivent être disposées à des hauteurs égales. La méthode traditionnelle consiste à définir une hauteur fixe pour chaque image, mais cela est non seulement fastidieux mais également peu flexible. Surtout dans le design réactif, la hauteur de l'image peut être différente selon les différentes tailles d'appareil. La disposition flexbox en CSS3 offre une solution plus simple et plus efficace.

1. Introduction à flexbox
La mise en page Flexbox est un nouveau modèle de boîte flexible ajouté en CSS3, qui peut simplifier la mise en page et l'alignement des éléments de la page Web. En contrôlant les propriétés des conteneurs et des éléments enfants, des mises en page Web flexibles peuvent être obtenues. Dans la disposition flexbox, le conteneur est appelé conteneur flex et les éléments enfants sont appelés éléments flex.

2. Disposition Flexbox pour obtenir une disposition des images à hauteur égale
Ce qui suit prend une galerie de grille simple comme exemple pour présenter comment utiliser la disposition Flexbox pour obtenir une disposition des images à hauteur égale.

Structure HTML :

<div class="grid-container">
  <div class="grid-item"><img src="image1.jpg" alt=""></div>
  <div class="grid-item"><img src="image2.jpg" alt=""></div>
  <div class="grid-item"><img src="image3.jpg" alt=""></div>
  <div class="grid-item"><img src="image4.jpg" alt=""></div>
</div>

Style CSS :

.grid-container {
  display: flex;
  flex-wrap: wrap;
}

.grid-item {
  flex: 1 0 200px;
  margin: 10px;
}

.grid-item img {
  width: 100%;
  height: auto;
}

Tout d'abord, définissez le conteneur contenant l'image comme conteneur flexible et activez la disposition flexbox en définissant display: flex. Ensuite, définissez flex-wrap: wrap pour réaliser un retour à la ligne automatique, afin que l'image puisse être automatiquement renvoyée à la ligne et affichée lorsqu'elle dépasse la largeur du conteneur. display: flex来开启flexbox布局。然后,通过设置flex-wrap: wrap来实现自动换行,让图片在超出容器宽度时自动换行显示。

接下来,将每个图片元素设置为flex item,可以使用.grid-item类来控制。在这个例子中,我们给每个flex item设置了一个固定的宽度(200px),使用flex: 1 0 200px来表示flex-grow属性为1(即分配剩余空间的比例),flex-shrink属性为0(即不允许缩小),flex-basis属性为200px(即初始宽度为200px)。

最后,通过设置.grid-item img

Ensuite, définissez chaque élément d'image comme un élément flexible, qui peut être contrôlé à l'aide de la classe .grid-item. Dans cet exemple, nous définissons une largeur fixe (200 px) pour chaque élément flexible, en utilisant flex: 1 0 200px pour indiquer que l'attribut flex-grow est 1 (c'est-à-dire la proportion de l'espace restant alloué) , l'attribut flex-shrink est 0 (c'est-à-dire que le rétrécissement n'est pas autorisé) et l'attribut flex-basis est 200px (c'est-à-dire que la largeur initiale est de 200px).

Enfin, contrôlez le style de l'image en définissant le sélecteur .grid-item img. Définissez la largeur de l'image sur 100 % pour l'adapter à la largeur du conteneur parent et définissez la hauteur sur auto. pour conserver la proportion de l’image.


Grâce aux paramètres de style ci-dessus, les images de la galerie de grilles peuvent être disposées à des hauteurs égales. Quelle que soit la hauteur de l'image, elle s'adaptera automatiquement à la hauteur du conteneur et maintiendra un affichage à hauteur égale.

3. Considérations de compatibilité
Il convient de noter que la disposition flexbox est bien prise en charge dans divers navigateurs modernes, mais il peut y avoir des problèmes de compatibilité dans certaines anciennes versions de navigateurs. Vous pouvez utiliser des outils tels qu'Autoprefixer pour générer automatiquement des préfixes de style compatibles avec différents navigateurs afin de garantir un affichage normal dans différents navigateurs.

Résumé :

En apprenant les compétences flexbox de CSS3, nous pouvons facilement obtenir une disposition à hauteur égale des images de pages Web. Grâce à la disposition flexbox, nous n'avons plus besoin de définir une hauteur fixe pour chaque image. En définissant simplement les propriétés liées à la flexbox, nous pouvons obtenir de manière flexible l'effet d'une disposition à hauteur égale sous différentes tailles d'appareils. 🎜🎜J'espère que l'introduction de cet article pourra vous aider à mieux appliquer la disposition flexbox dans la conception Web et à obtenir un effet de disposition d'image plus flexible et plus beau. 🎜

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