PDA

Ver la Versión Completa : Centrar una tabal html


roman
12-04-2005, 00:18:41
Hola,

La pregunta más bien es ¿cómo centrar una tabla en IE y FireFox sin que se queje el HTML Validator?

Uso el siguiente encabezado

<!DOCTYPE HTML PUBLIC '-//W3C//DTD HTML 4.0//EN'>

para el documento HTML.

Quiero centrar horizontalmente una tabla:


<table>
</table>


La única manera que me ha funcionado tanto en IE como FireFox es usando el atributo align='center' de la etiqueta table o bien encerrando la tabla entre etiquetas <center>

En ambos casos el HTML Validator (http://validator.w3.org/) se queja diciendo que el atributo o etiqueta no existen.

Si antes de la tabla coloco una etiqueta

<p style='text-align: center'>

el Validator no se queja pero no funciona con FireFox.

¿Cómo pues debo escribir el código html o la hoja de estilo para que funcione en ambos navegadores y valide correctamente?

// Gracias

roman
12-04-2005, 00:31:17
Gracias, acabo de encontrar una forma:


<table style='margin-left: auto; margin-right: auto'>
</table>


Un poco extraña para mi gusto pero parece funcionar bien.

// Saludos

dec
12-04-2005, 01:23:24
A ver si alguna de estas dos formas te puede hacer el apaño roman:


<!-- Tabla centrada 1 -->
<div style="text-align: center;">
<table>
<tr>
<td>
(...)
</td>
</tr>
</table>
</div>



<!-- Tabla centrada 2 -->
<table style="margin-left: 20%; margin-right: 20%">
<tr>
<td>
(...)
</td>
</tr>
</table>

roman
12-04-2005, 01:34:55
Muchas gracias dec

Te comento que la primera forma, al igual que con

<p style='text-align: center'>

no funciona en FireFox.

La segunda forma parece tomar en cuenta sólo el primer margen de manera que se coloca a 20% de la izquierda.

// Saludos

dec
12-04-2005, 11:30:22
Lo siento roman. Vas a llevar razón, y, como dices, no lo probé en FireFox, que era lo que precisabas... lo lamento.

En cuanto a la segunda forma, en realidad es que la tabla debería tener un "tamaño", de tal modo que este se centrara entre los dos márgenes.

Si lo pruebas con una tabla "no muy grande", parecerá que se sitúa según el margen izquierdo solamente, pero lo que pasa es que no llega a poder alinearse al margen derecho, puesto que no ocupa tanto.

De todos modos... ya me pareció una cosa rara a leer tu mensaje, quiero decir, que, lo primero que hize fue intentar centrar la tabla con el "text:align"... y no funcionó, como tú ya sabes... me deja un tanto preocupado, entonces, cómo alinear una tabla en centro, que me da a mí que tiene que haber alguna otra forma no tan rebuscada como los márgenes, los "auto", etc...

De todas formas, y, a riesgo de parecer lo que no quisiera, te diré que aunque no funcione en FireFox alinear la tabla dentro de un elemento contenedor (DIV) no es igual en todo caso que usar un elemento párrafo (P) puesto que este último no está pensado para contener más que párrafos de texto, y quizás imágenes, pero, me parece que no tablas y otros elementos.

El contenedor (DIV) sí que está precisamente para eso, salvo que me equivoque, puesto que no tiene otra función sino esa: la de contener otros elementos, entre ellos tablas, listas, párrafos...

kayetano
12-04-2005, 16:20:38
Hola

Por lo poco que he podido leer de HTML4 los atributos de la gran mayoría de tags se ha sustituido por CSS, por lo tanto hay que trabajar con "style" o con hojas de estilos. Además son obsoletos muchos tags como por ejemplo "font", "center" y otros muchos que servían para aplicar formatos.

También hay que tener en cuenta el DOCTYPE que estas usando, ya que tu definición es la del DOCTYPE mas flexible y te permite libertades que el estricto no permite.