J'ai dans ma page un bouton qui, lorsqu'il est cliqué, affiche un message de type div
(style popup) au milieu de mon écran.
J'utilise la feuille de style CSS suivante pour centrer le div
au milieu de l'écran :
.PopupPanel
{
border: solid 1px black;
position: absolute;
left: 50%;
top: 50%;
background-color: white;
z-index: 100;
height: 400px;
margin-top: -200px;
width: 600px;
margin-left: -300px;
}
Cette CSS fonctionne bien tant que la page n'est pas défilée.
Mais, si je place le bouton en bas de ma page, lorsqu'il est cliqué, le bouton div
est affiché en haut de l'écran, et l'utilisateur doit faire défiler l'écran vers le haut pour voir le contenu de la section div
.
Je voudrais savoir comment afficher le div
au milieu de l'écran, même lorsque la page a été déroulée.
0 votes
Question question. Pourquoi soustraire margin-top : (200) et margin-left. J'ai l'impression que c'est le milieu de la hauteur et de la largeur, mais pourquoi devons-nous faire cela pour obtenir le centre absolu ? Les 50% de gauche et 50% de haut ne devraient-ils pas faire l'affaire ?
0 votes
@jmoon90 Le
left: 50%; top: 50%
déplace le coin supérieur gauche de la.PopupPanel
au centre de l'écran. Nous le déplaçons ensuite de la moitié de sa largeur et de sa hauteur pour le ramener au centre. Voir Centrage sur css-tricks.com