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 div
en 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, div
se 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 div
en 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.PopupPanel
del 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
position
atributo a enfixed
lugar deabsolute
.fuente
Cambiar
position:absolute;
aposition:fixed;
fuente
Cambio
A
Especificaciones del W3C para
position: absolute
y 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