Un div est affiché au centre d'un autre div (centré horizontalement, centré verticalement)
méthode 1 :
En définissant le positionnement absolu des éléments enfants et margin:auto
.parent {
position:relative;
width:800px;
height:500px;
border:2px solid #000;
}
.child {
position: absolute;
width:200px;
height:200px;
margin: auto;
top: 0;
left: 0;
right: 0;
bottom: 0;
background-color: red;
}
Méthode 2 :
Définissez l'élément parent sur le modèle de boîte flexible display:flex ;
puis définissez les propriétés justifier-content:center ; align-items:center ;
Q : Simple et pratique, mais il ne peut y avoir qu'une seule sous-étiquette.
.parent {
width:800px;
height:500px;
border:2px solid #000;
display:flex;
justify-content:center;
align-items:center;
}
.child {
width:200px;
height:200px;
background-color: red;
}
Méthode 3 :
Définissez les décalages horizontaux et verticaux à 50 % de l'élément parent, puis remettez l'élément enfant à la moitié de sa taille en fonction de la longueur réelle. Problème : il y a
une erreur lorsque le plein écran est centré et la taille de l'écran va changer
.parent {
width:800px;
height:500px;
border:2px solid #000;
position:relative;
}
.child {
width:300px;
height:200px;
margin:auto;
position:absolute;
left:50%;
top:50%;
margin-left: -150px;
margin-top:-100px;
background-color: red;
}