Horizontalement
Le centrage horizontal d’une image dans un un conteneur de type bloc, une div par exemple, ne pose pas de problème. Il suffit de définir la propriété CSS text-align à center sur le conteneur.
1 2 3 4 5 6 |
<!-- HTML --> <div class="container"> <img src="rue-de-l-info.png" alt="My image" /> </div> |
1 2 3 4 5 6 7 8 9 |
// CSS .container { width: 200px; height: 200px; border: 1px #23282d solid; text-align: center; } |
Résultat :
Verticalement
Le centrage vertical est plus délicat à mettre en place.
Il faut en effet modifier la propriété display de notre conteneur pour pouvoir utiliser la propriété vertical-align qui nous permettra de positionner verticalement l’image.
1 2 3 4 5 6 7 8 9 10 11 |
// CSS .container { width: 200px; height: 200px; border: 1px #23282d solid; text-align: center; display: table-cell; vertical-align: middle; } |
Résultat :
Attention
Cette technique fonctionne sur Internet Explorer qu’à partir de la version 8. Une autre solution serait de mettre l’image dans un tableau, mais on perdra en sémantique
Horizontalement avec flexbox
Le centrage horizontal est devenu vraiment facile avec flexbox.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 |
// CSS .container { display: flex; justify-content: center; width: 200px; height: 200px; border: 1px #23282d solid; } .container img { width: 50px; height: 50px; } |
Résultat :
Verticalement avec flexbox
Avant l’apparition de flexbox, le centrage verticale des éléments était asses complexe. C’est aujourd’hui beaucoup plus accessible. Nous allons le voir dans l’exemple suivant.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 |
// CSS .container { display: flex; align-items: center; justify-content: center; width: 200px; height: 200px; border: 1px #23282d solid; } .container img { width: 50px; height: 50px; } |
Merci ca va me changer la vie. Bravo l’équipe!
Si on peut aider !