Je veux centrer un div qui est à l'intérieur d'un autre div.
<div id="outerDiv">
<div id="innerDiv">
</div>
</div>
Voici la CSS que j'utilise actuellement.
#outerDiv {
width: 500px;
height: 500px;
position: relative;
}
#innerDiv {
width: 284px;
height: 290px;
position: absolute;
top: 50%;
left: 50%;
margin-top: -147px;
margin-left: -144px;
}
Comme vous pouvez le constater, l'approche que j'utilise maintenant dépend de la largeur et de la hauteur de l'écran de l'ordinateur. #innerDiv
. Si la largeur/hauteur change, je devrai modifier la margin-top
y margin-left
valeurs. Existe-t-il une solution générique que je peux utiliser pour centrer les #innerDiv
indépendamment de sa taille ?
J'ai compris qu'en utilisant margin: auto
peut aligner horizontalement le #innerDiv
au milieu. Mais qu'en est-il de l'alignement vertical ?
3 votes
Le centrage vertical est un problème très courant - vous trouverez d'autres conseils ici : jakpsatweb.cz/css/css-vertical-center-solution.html
0 votes
Et si vous faites margin-top : auto ; margin-bottom : auto ;
1 votes
jsfiddle.net/k6ShD/4
0 votes
Voici deux méthodes simples pour centrer des divs dans des divs, verticalement, horizontalement ou les deux (pure CSS) : stackoverflow.com/a/31977476/3597276
0 votes
css-vertical-center.com il y a quelques solutions avec des informations de compatibilité de navigateur
0 votes
Les suggestions faites par les autres sont justes. Juste pour ajouter. Si vous avez une division parent appelée DivParent et une division enfant appelée ChildDiv, il suffit d'ajouter margin : auto à la division enfant, ce qui fera que la division enfant ou innerDiv sera au centre de la division parent.