Centrer V et H une image dans une <div> en css

super-S Messages postés 11 Date d'inscription jeudi 30 mars 2017 Statut Membre Dernière intervention 18 mai 2020 - 5 mars 2018 à 13:58
gleinense Messages postés 10 Date d'inscription dimanche 11 mars 2018 Statut Membre Dernière intervention 19 mars 2018 - 12 mars 2018 à 00:51
Bonjour à tous,

Il va falloir m'expliquer.
Je cherche simplement à centrer verticalement et horizontalement une image dans une <div>
Horizontalement c'est pas compliqué (margin-left: auto et margin right: auto), mais verticalement...

Je n'ai pas de <div> parent ou enfant, pas de <div> imbriquées, Pas de display : block ou inline-block, pas de flex.
Je veux juste que mon image arrive toujours au centre de la page.

ca marche avec un tableau ?!! avec align="absmiddle"
mais plus personne n'utilise de tableau !!!

Je trouve ça fou. Je viens de me taper 50 forums, avec tous des méthodes différentes (marges négatives, et autres).
Par curiosité j'aimerai comprendre pourquoi c'est si compliqué.
pourquoi margin-top: auto et margin-bottom : auto, ne fonctionne pas. Alors que ça fonctionne horizontalement ?
On en est au css3, html5, etc. et foutre une p*****?!! d'image au centre de la page... enfin...

Merci d'avance.
Merci à codes-sources d'exister (même si là j'ai un peu honte)

Mon code (vous allez voir c'est con):
<head>
<style>
body { background-image: url(images/bg.png);}

.home {
<style>
body { background-image: url(images/bg.png);}

.home {
text-align: center;
margin-left : auto;
margin-right: auto;
}
</style>
</head>


<body>
<div class="home">
<a href="https://www.monsite.com"><img src="images/img.png" alt=""></a>
</div>
</body>

1 réponse

gleinense Messages postés 10 Date d'inscription dimanche 11 mars 2018 Statut Membre Dernière intervention 19 mars 2018
Modifié le 12 mars 2018 à 00:54
Pour centrer verticalement il faut utiliser un " line-height " qui aura la même valeur que le height de ton div:

line-height: 200px;
height: 200px;

Note : Ces valeurs s'applique au div pas à l'image
0
Rejoignez-nous