Warning: include(../includes/data_HTML.php) [function.include]: failed to open stream: No such file or directory in /home/.maryanna/irvmail/ignside.net/man/html/tablas.php on line 6

Warning: include() [function.include]: Failed opening '../includes/data_HTML.php' for inclusion (include_path='.:/usr/local/php5/lib/php:/usr/local/lib/php') in /home/.maryanna/irvmail/ignside.net/man/html/tablas.php on line 6
: Tablas -1- Tablas -1-

Opciones

Search:
 

    

    Warning: reset() [function.reset]: Passed variable is not an array or object in /home/.maryanna/irvmail/ignside.net/man/includes/header.php on line 79

    Warning: Variable passed to each() is not an array or object in /home/.maryanna/irvmail/ignside.net/man/includes/header.php on line 80
    RSS 2.0

Actualizado el 14-01-2007
versión para imprimir

Tablas ( I )

Una tabla no es sino un sistema de distribución de información en celdas, que a su vez se organizan en filas y columnas. Mediante tablas podemos mostrar ordenadamente datos de todo tipo. Pero en html su utilidad no solamente es esa.

Las etiquetas html para tablas son muy flexibles, permitiendo diseñar tablas complejas, de cualquier tamaño y con cualquier contenido. Diseñando una tabla del mismo tamaño que nuestra página, y metiendo dentro de ella todos los elementos de la misma (cabeceras, gráficos, texto) hemos podido acceder a unas posibilidades de maquetación impensables con las etiquetas html usuales, posibilidades que solo en un futuro podrán ser sustituidas por normas de estilo.

estructura de una tabla en html

Básicamente necesitamos una pareja de etiquetas que muestren donde comienza y donde acaba la tabla; una pareja de etiquetas que indiquen el comienzo y fin de cada fila de datos, y una pareja de etiquetas que identifiquen cada celda de datos en esa fila. En html las tablas se construyen indicando el número de filas, y las celdas dentro de cada fila. siendo innecesario especificar las columnas:

<table></table>
           indica el comienzo y fin de la tabla
<tr></tr> 
           indica el comienzo y fin de una fila 
<td></td> 
           indica el comienzo y fin de una celda
           en una fila
columna 1 columna 2 columna 3
fila 1
celda(1,1) celda(1,2) celda(1,2)
celda(2,1) celda(2,2) celda(2,3)
celda(3,1) celda(3,2) celda(3,3)
fila 2
fila 3

O lo que es lo mismo, con las etiquetas que hemos visto:

<table>
<tr>
<td>...</td><td>...</td><td>...</td>
<td>...</td><td>...</td><td>...</td>
<td>...</td><td>...</td><td>...</td>
</tr>
<tr></tr>
<tr></tr>
</table>

Vamos a desarrollar nuestra tabla poco a poco. Supongamos que queremos hacer una tabla con numeros de teléfonos ... comenzaremos creando la tabla y abriendo una casilla para el primer nombre. Fijate que el atributo border, en desuso para otros elementos html, puede usarse con table:

<table border="1"><tr><td> pepe pérez </td></tr></table>

y aqui el resultado:

pepe pérez

donde podemos destacar varias cosas: la tabla que hemos diseñado tiene una sola fila horizontal, y solo una celda en esa fila. Observa el anidamiento de las etiquetas (tabla-fila-celda).

Fíjate tambien que no ha hecho falta indicar el tamaño de la tabla: se ajusta automaticamente a su contenido. Las etiquetas <table> </table> son formateadoras, es decir, incluyen un salto de linea antes y despues; en este caso hemos añadido a la etiqueta el atributo border= asignandole un valor "1", con el fin de que puedas ver los bordes de la tabla y comprender su diseño. Pero es posible eliminar el borde, simplemente quitando el atributo border o asignandole valor "0"

Insertemos ahora una segunda celda, donde escribiremos el número de teléfono:

<table border="1">
<tr>
<td>pepe perez</td>
<td>91 - 400 00 00</td>
</tr>
</table>
pepe perez 91 - 400 00 00

Atributos generales: anchura

Acabamos de ver que la tabla automaticamente se dimensiona segun el tamaño del elemento que contenga. Pero tambien podemos especificar la anchura con el atributo width. Veamoslo:

<table border="1" width="100%">
<tr>
<td>pepe perez</td><td>91 400 00 00</td>
</tr>
</table>

y obtenemos el siguiente resultado:

pepe perez 91 400 00 00

y a continuación la misma tabla con anchura (width) de 80%, 60% y 40%:

pepe perez 91 400 00 00
pepe perez 91 400 00 00
pepe perez 91 400 00 00

Tambien podemos asignar anchura a cada una de las celdas:

<table border="1">
<tr>
<td width="30%">pepe perez</td>
<td width="70%">91 400 00 00</td>
</tr>
</table>
pepe perez 91 400 00 00
<table border="1">
<tr>
<td width="50%">pepe perez</td>
<td width="50%">91 400 00 00</td>
</tr>
</table>
pepe perez 91 400 00 00

y naturalmente, combinar especificación de anchura de la tabla, y de cada una de las celdas:

<table border="1" width="80%">
<tr>
<td width="50%">pepe perez</td>
<td width="50%">91 400 00 00</td>
</tr>
</table>
pepe perez 91 400 00 00

Hasta ahora la anchura la hemos especificado en porcentaje sobre la anchura de la tabla. Tambien podemos especificarla en pixels

<table border="1" width="350">
<tr>
<td width="100">pepe perez</td>
<td width="250">91 400 00 00</td>
</tr>
</table>
pepe perez 91 400 00 00

Atributos generales: bordes de la tabla

Tambien podemos especificar el borde de la tabla asignando diversos valores al atributo border="". Vemos ahora la ultima tabla con bordes valor 10, 5, 1 y 0 (cero es el valor por defecto si no se especifica nada:

pepe perez 91 400 00 00

pepe perez 91 400 00 00

pepe perez 91 400 00 00

pepe perez 91 400 00 00

Muy bien, y ahora antes de seguir con los atributos generales de la etiqueta <table>incluyamos otra fila:

<table border="1" width="350">
<tr>
<td width="100">pepe perez</td>
<td width="250">91 400 00 00</td>
</tr>
<tr><td>paco lopez</td>
<td>91 411 11 11</td></tr>
</table>

es decir, abrimos otra fila con una pareja de etiquetas <tr></tr> y dentro de ellas dos celdas, con las etiquetas <td></td>. El resultado:

pepe perez 91 400 00 00
paco lopez 91 411 11 11

observa que no hemos especificado longitud ni para la segunda fila ni para sus celdas, tomando las medidas de arriba.

Atributos generales: alineando la tabla

Podemos alinear la tabla con el atributo ya conocido align= y sus valores left, right, center y justify [En desuso]. En lugar de align podemos usar reglas de estilo, teniendo en cuenta que si las aplicamos en la etiqueta table lo que alineamos es el contenido de la tabla. Si queremos alinear la propia tabla en el conjunto de la tabla, aplicamos el estilo a la etiqueta contenedora de la tabla:

tabla alineada a la izquierda
usando float:left
tabla alineada a la derecha
usando float:right
tabla alineada al centro
usando margin-left:auto; margin-right:auto;

Nota que hasta aqui hemos hablado de alinear la tabla en relación con la página. Si lo que queremos es alinear el contenido de la tabla dentro de esta (es decir, a izquierda o derecha de cada celda, arriba abajo o centrado, aun podemos usar los atributos align para la alineacion horizontal (valores left, center, right, justify) o valign para el centrado vertical (valores top, middle, bottom)

Atributos generales: cellpadding y cellspacing

CELLPADDING es la cantidad de espacio en blanco entre los datos de cada celda y el borde de la tabla. Por defecto, y si no se especifica, tiene un valor de 1.
CELLSPACING es la cantidad de espacio en blanco inserto entre cada una de las celdas de datos. De no especificarse, adopta por defecto un valor 2.

<table border="1" cellpadding="10" cellspacing="5">
<tr>
<td>cellpading</td>
<td>espacio entre datos y  borde</td>
</tr>
<tr>
<td>cellspacing</td>
<td>espacio entre celdas</td>
</tr>
</table>
cellpading espacio entre datos y borde
cellspacing espacio entre celdas
<table border="1" cellpadding="25" cellspacing="15">
<tr>
<td>cellpading</td>
<td>espacio entre datos y  borde</td>
</tr>
<tr>
<td>cellspacing</td>
<td>espacio entre celdas</td>
</tr>
</table>
cellpading espacio entre datos y borde
cellspacing espacio entre celdas

Y la misma tabla con los valores cellpadding y cellspacing sin especificar (valores por defecto:

cellpading espacio entre datos y borde
cellspacing espacio entre celdas

Atributos de table: altura

mediante el atributo height= podemos especificar la altura exacta de cada celda, bien en pixels, bien en porcentaje. [en desuso]. Alternativa CSS: style="height:nnpx";

<table border="1" >
<tr>
<td height="38">heigth=""</td>
<td>altura de la tabla</td>
</tr>
</table>
style="height:40px" altura de la celda

atributos de tabla: color

otra vez en terreno pantanoso. Estos atributos también estan en desuso, por lo que se recomienda acudir a las reglas de estilo, mucho mas flexibles

Con la propiedad background-color especificamos el fondo de la tabla. Con caracter general, siempre que se indica un color de fondo es mejor indicar también un color de primer plano. Hagamos una tabla azul, con texto amarillo:

el color de fondo: azul
texto color:amarillo

Podemos añadir un borde rojo de 3 px con la propiedad de estilo borde, y incluso combinarla con el atributo html borde:

el color de fondo: azul
texto color:amarillo
el color de fondo: azul
texto color:amarillo





Podemos dar un poco de amplitud con cellpadding y cellspacing

el color de fondo: azul
texto color:amarillo
el color de fondo: azul
texto color:amarillo





Podemos asignar fondos o colores a celdas individuales:

el color de fondo: azul
texto color:amarillo

O a toda la fila:

el color de fondo: azul
texto color:amarillo

O establecer border para celdas individuales (o lados de ellas):

el color de fondo: azul
texto color:amarillo

títulos y cabeceras de la tabla

Mediante las etiquetas <caption></caption> podemos especificar el título de la tabla. Admite un atributo, align="", con dos valores, "top" y "bottom", segun queramos que el título se visualice como una linea de texto encima o debajo de la tabla:

Caption align left
a b c
d e f
Caption align right
a b c
d e f
Caption align top
a b c
d e f
Caption align bottom
a b c
d e f

<th></th>: ya hemos visto que las celdas o unidades de la tabla se definen con etiquetas <td></td>. La etiqueta <th> (table header) sirve para especificar que se trata de una celda "cabecera". Su texto se visualizará tipicamente centrado y en negrita:

<table width="40%" align="center" border="1">
<tr>
<th>head1</th>
<th>head2</th>
<th>head3</th></tr>
<tr>
<td>a</td>
<td>b</td>
<td>c</td></tr>
<tr>
<td>d</td>
<td>e</td>
<td>f</td></tr></table>
head1 head2 head3
a b c
d e f

Su uso es igual que el de cualquier otra celda td, asi que no hay problema en tener cabeceras laterales:

head1 1 2 3
head2 4 5 6
head3 7 8 9
This site powered by Phorum.