Quiero colocar un elemento <div>
(o un <table>
) en el centro de la pantalla independientemente del tamaño de la pantalla. En otras palabras, el espacio dejado en 'arriba' e 'fondo' debería ser igual y el espacio dejado en los lados 'derecho' e 'izquierdo' debería ser igual. Me gustaría lograr esto solo con CSS.
He intentado lo siguiente pero no funciona:
<body>
<div style="top:0px; border:1px solid red;">
<table border="1" align="center">
<tr height="100%">
<td height="100%" width="100%" valign="middle" align="center">
We are launching soon!
</td>
</tr>
</table>
</div>
</body>
Nota:
De cualquier manera, está bien si el <div>
elemento (o <table>
) se desplaza con el sitio web o no. Solo quiero que esté centrado cuando se cargue la página.
javascript
css
html
sumitir
fuente
fuente
Respuestas:
La manera fácil, si tiene un ancho y una altura fijos:
¡No utilices estilos en línea! Aquí hay un ejemplo de trabajo http://jsfiddle.net/S5bKq/ .
fuente
Con las transformaciones que se admiten de manera más ubicua en estos días, puede hacerlo sin conocer el ancho / alto de la ventana emergente
¡Fácil! JSFiddle aquí: http://jsfiddle.net/LgSZV/
Actualización: Consulte https://css-tricks.com/centering-css-complete-guide/ para obtener una guía bastante exhaustiva sobre el centrado de CSS. Agregándolo a esta respuesta, ya que parece tener muchos globos oculares.
fuente
overflow:auto
, el desplazamiento se arruina en IE9. :(Establece el ancho y la altura y estarás bien.
Si desea que las dimensiones del elemento sean flexibles (y no se preocupe por los navegadores heredados), vaya con la respuesta de XwipeoutX .
fuente
Funcionará para cualquier objeto. Incluso si no sabes el tamaño:
fuente
Ahora, es más fácil con HTML 5 y CSS 3:
fuente
Si tiene una
div
posición absoluta fija fija , al 50% desde la parte superior y al 50% a la izquierda y al margen negativo arriba y a la izquierda de la mitad de la altura y el ancho, respectivamente. Ajústese a sus necesidades:fuente
Utiliza flex . Mucho más simple y funcionará independientemente de su
div
tamaño:fuente
Haría esto en CSS:
luego en HTML:
fuente
prueba esto
O esto
fuente
Si hay alguien buscando una solución,
Encontré esto,
¡Es la mejor solución que he encontrado hasta ahora!
http://dabblet.com/gist/2872671
¡Espero que lo disfrutes!
fuente
Otro enfoque flexible y sencillo para mostrar el bloque en el centro: usar la alineación de texto nativo con
line-height
ytext-align
.Solución:
Y muestra html:
Hacemos
div.parent
pantalla completa, y su hijo único sediv.child
alinea como texto condisplay: inline-block
.Ventajas:
Ejemplo simple en JSFiddle: https://jsfiddle.net/k9u6ma8g
fuente
Solución alternativa que no utiliza la posición absoluta:
veo muchas respuestas de posición absoluta. No podría usar la posición absoluta sin romper otra cosa. Entonces, para aquellos que tampoco pudieron, esto es lo que hice:
https://stackoverflow.com/a/58622840/6546317 (publicado en respuesta a otra pregunta).
La solución solo se centra en el centrado vertical porque los elementos de mis hijos ya estaban centrados horizontalmente, pero lo mismo podría aplicarse si no pudieras centrarlos horizontalmente de otra manera.
fuente
prueba esto:
fuente