Tengo en mi página un botón que al hacer clic muestra un div(estilo emergente) en el centro de mi pantalla.
Estoy usando el siguiente CSS para centrar el diven el medio de la pantalla:
.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;
}
Este CSS funciona bien siempre que la página no se desplace hacia abajo.
Pero, si coloco el botón en la parte inferior de mi página, cuando se hace clic en él, divse muestra en la parte superior y el usuario tiene que desplazarse hacia arriba para ver el contenido de la página div.
Me gustaría saber cómo mostrar el diven el medio de la pantalla, incluso cuando la página se ha desplazado.

left: 50%; top: 50%movimientos de la esquina superior izquierda de la.PopupPaneldel centro de la pantalla. Luego lo movemos la mitad del ancho y la altura de nuevo al centro, es el centro. Ver Centrado en css-tricks.comRespuestas:
Cambie el
positionatributo a enfixedlugar deabsolute.fuente
Cambiar
position:absolute;aposition:fixed;fuente
Cambio
A
Especificaciones del W3C para
position: absolutey paraposition: fixed.fuente
Acabo de encontrar un nuevo truco para centrar un cuadro en el centro de la pantalla, incluso si no tienes dimensiones fijas. Digamos que desea una caja de 60% de ancho / 60% de altura. La forma de centrarlo es mediante la creación de 2 cuadros: un cuadro de "contenedor" que se coloca a la izquierda: 50% arriba: 50%, y un cuadro de "texto" en el interior con la posición inversa a la izquierda: -50%; arriba: -50%;
Funciona y es compatible con varios navegadores.
Consulte el código a continuación, probablemente obtenga una mejor explicación:
fuente
El método correcto es
fuente