Cómo centrar una tabla verticalmente en una página web

La mejor manera que he visto de centrar una tabla (o cualquier contenido) verticalmente en la ventana del navegador, la encontré en Dead Centre.

Resumí lo que encontré ahí para hacerlo más entendible:

En tu hoja de estilos pon estas dos clases:

CSS:
  1. .horizonte
  2.     {
  3.     color: #000000;
  4.     background-color: #ff0000;
  5.     text-align: center;
  6.     position: absolute;
  7.     top: 50%;
  8.     left: 0px;
  9.     width: 100%;
  10.     height: 1px;
  11.     overflow: visible;
  12.     visibility: hidden;
  13.     /*visibility: visible;  Activa esta linea si quisieras ver donde esta el horizonte*/
  14.     display: block;
  15.     }
  16.  
  17. .contenido    
  18.     {
  19.  
  20.     margin-left: -250px;
  21.     position: absolute;
  22.     top: -250px;
  23.     left: 50%;
  24.     width: 500px;
  25.     height: 500px;
  26.     visibility: visible;
  27.     }

La clase llamada horizonte posiciona contenido exactamente en la mitad de la pantalla, esto lo logra con el top=50%; Su altura es un pixel y su visibilidad es hidden porque no queremos que se vea, es solamente un lugar donde posicionaremos nuestro contenido. Ojo: Como su overflow es visible no importa que el contenido sea más alto que un pixel, más información sobre esto aquí.

Lo que debes de modificar en la hoja de estilos anterior es el width y el height de acuerdo a tu contenido. Cuando lo hagas, también modifica margin-left y top. Nota que son los mismos valores que width y height pero divididos entre 2 y con número negativo.

Y este es el código donde colocas tu información:

HTML:
  1. <div class="horizonte">
  2.             <div class="contenido">
  3.                 <table width="500" border="1" height="500">
  4.                     <tr>
  5.                         <td align="center" valign="middle">Esto es una tabla.<br/>También podría ser un DIV o cualquier
  6.                         otro elemento.  De igual forma se centraría horizontal y verticalmente en la página.</td>
  7.                     </tr>
  8.                 </table>
  9.             </div>
  10. </div>

Aquí también modifica width y height en la tabla para que concuerden con los valores que pusiste en la hoja de estilos.

* Funciona en Internet Explorer y Firefox.

Leave a Comment

Please note: Comment moderation is enabled and may delay your comment. There is no need to resubmit your comment.