codelynx.dev
🇫🇷🇬🇧

Retour 05/11/2024

Comment centrer une image en CSS : Les 5 méthodes

Écris par Melvyn Malherbe le 05/11/2024


Salut ! Si tu galères à centrer une image en CSS, ne t'inquiète pas, je vais t'expliquer les meilleures techniques pour y arriver. On va voir plusieurs méthodes, de la plus simple à la plus flexible.

1. La méthode Flexbox

Commençons par la méthode la plus moderne et flexible : Flexbox. C'est ma préférée car elle fonctionne dans presque tous les cas.

CSS
.container {
  display: flex;
  justify-content: center;
  align-items: center;
  height: 100vh; /* Pour centrer verticalement sur toute la hauteur */
}

img {
  max-width: 100%;
  height: auto;
}

Voici comment ça fonctionne en pratique :

Cette méthode est géniale car elle centre l'image à la fois horizontalement et verticalement. Le justify-content: center s'occupe du centrage horizontal, tandis que align-items: center gère le vertical.

Pour en apprendre plus, il faut vraiment que tu aille voir mon guilde complet sur FlexBox CSS.

2. La méthode margin: auto

Une autre technique classique mais efficace consiste à utiliser margin: auto avec display: block. C'est parfait pour un centrage horizontal simple.

CSS
img {
  display: block;
  margin: 0 auto;
  max-width: 100%;
  height: auto;
}

Regarde comment ça fonctionne :

Cette méthode est super simple et fonctionne bien pour le centrage horizontal. Par contre, pour le centrage vertical, il faudra combiner avec d'autres techniques.

3. La méthode position: absolute

Si tu as besoin d'un contrôle précis sur le positionnement, la méthode position: absolute peut être très utile.

CSS
.container {
  position: relative;
  height: 100vh;
}

img {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  max-width: 100%;
  height: auto;
}

Voici comment ça se comporte :

Cette technique est puissante car elle permet un centrage parfait, même si tu ne connais pas les dimensions de l'image. Le transform: translate(-50%, -50%) est la clé ici, car il déplace l'image de moitié de sa propre taille dans les deux directions.

4. La méthode Grid

Si tu es fan de CSS Grid (et tu devrais l'être !), voici comment centrer une image avec cette méthode :

CSS
.container {
  display: grid;
  place-items: center;
  height: 100vh;
}

img {
  max-width: 100%;
  height: auto;
}

Et voilà le résultat :

Cette méthode est incroyablement concise. Le place-items: center est une sorte de super-pouvoir qui centre l'élément à la fois horizontalement et verticalement en une seule ligne !

Conclusion

Voilà, tu as maintenant toutes les cartes en main pour centrer tes images comme un pro ! Personnellement, j'utilise souvent Flexbox ou Grid pour leur flexibilité, mais chaque méthode a ses avantages selon le contexte.

N'hésite pas à jouer avec les playgrounds pour bien comprendre comment chaque technique fonctionne. La pratique est la clé pour maîtriser ces concepts !

Retrouve d'autre article sur le CSS :

Deviens développeur web

Profite d'une formation HTML / CSS / JS pour devenir développeur web rapidement.

Reçois la formation gratuitement dans ta boîte mail :

Allez, amuse-toi bien avec le centrage d'images et n'hésite pas si tu as des questions !

BeginWeb

Cours HTML / CSS / JS gratuit

Maîtrise le web rapidement avec cette formation.