El modelo propuesta por Netscape para la implementación de tablas, se ha convertido en un estándar de facto, permitiendo realizar sofisticadas presentaciones tabulares. Como se verá, no se limita a la presentación de texto en columnas, sino que permite realizar combinaciones muy complejas de imágenes y texto.
HTML 3 dispone de un soporte completo para la presentación de tablas, que utiliza como base el modelo propuesto por Netscape.
Toda la definición de una tabla está contenida dentro de la etiqueta <TABLE> </TABLE>. En su interior, se describe la distribución de la misma a partir de filas y celdas. En un primer nivel, la tabla sólo puede tener dos elementos, filas <TR> y títulos <CAPTION>.
Etiquetas para la creación de tablas
Las siguientes tablas recogen los atributos más
importantes de cada una de las etiquetas empleadas para la presentación
de información tabular.
<TABLE>
</TABLE> |
Marca un bloque de definición de tabla. Dentro del mismo, sólo se pueden incluir elementos <TR> y <CAPTION>. | |
BORDER= | Fija el ancho del borde exterior de la tabla, medido en pixels. El valor por defecto es 0 (sin bordes). | |
CELLPADDING= | Fija la distancia, en pixels, entre el borde de una celda y su contenido. El valor por defecto es 1. | |
CELLSPACING= | Fija la anchura, en pixels, de las líneas de división de la tabla. El valor por defecto es 2. | |
WIDTH= | Controla la anchura horizontal
de la tabla. Si no se especifica, el propio browser busca un valor
adecuado, en función de su contenido.
Se puede especificar como un valor en pixels, o como un porcentaje del ancho que tenga la pantalla del browser en cada momento, o el elemento en que se inserta la tabla (por ejemplo, otra tabla). |
|
ALIGN= | Permite crear tablas
flotantes,, equivalentes a las imágenes, en las que el texto de
un párrafo fluye a lo largo del borde de la tabla.
Especifica la alineación horizontal de la tabla. Puede tomar los valores left o right. Por defecto, se usa left. |
<CAPTION>
</CAPTION> |
Inserta un título alusivo al contenido de la tabla. Por defecto, el título se inserta por encima de la tabla, centrado sobre la misma. | |
ALIGN= | Fija la posición
del título con respecto a la tabla.
Puede tomar los valores top o bottom. |
<TR>
</TR> |
Crea una nueva fila dentro de una tabla. Dentro de ella, sólo se pueden incluir elementos <TD> o <TH> para la creación de celdas. | |
ALIGN= | Especifica la alineación
horizontal del texto en la celda.
Puede tomar los valores left, right, center. Por defecto, se utiliza alineación izquierda. Este valor afecta a todas las celdas de esta fila, salvo que éstas modifiquen su alineación particular. |
|
VALIGN= | Especifica la alineación
vertical del texto en la celda.
Puede tomar los valores top, bottom, middle o baseline. Por defecto, se utiliza alineación central (middle). El valor baseline alinea el texto en líneas adyacentes sobre una línea base común. Este valor afecta a todas las celdas de esta fila, salvo que estas modifiquen su alineación particular. |
<TD>
</TD> |
Crea una celda dentro de una fila de la tabla. | |
ALIGN= | Especifica la alineación
horizontal del texto en la celda.
Puede tomar los valores left, right, center. Por defecto, se utiliza alineación izquierda. Este valor afecta sólo a esta celda. |
|
VALIGN= | Especifica la alineación
vertical del texto en la celda.
Puede tomar los valores top, bottom, middle o baseline. Por defecto, se utiliza alineación central (middle). Este valor afecta sólo a esta celda. |
|
COLSPAN= | Indica el número
de columnas que ocupará esta celda.
Se usa para crear tablas con diferente número de columnas en cada fila. Su valor por defecto es 1. |
|
ROWSPAN= | Indica el número
de filas que ocupará esta celda.
Se usa para crear celdas que ocupen más de una fila. Su valor por defecto es 1. |
|
NOWRAP | Obliga al cliente Web
a no romper las líneas de texto que contenga la celda. El ancho
de la línea fijará el ancho de la celda.
Se debe usar con cuidado, en caso de que aparezcan líneas de texto muy anchas. |
|
WIDTH= | Determina el ancho de
la celda. Si no se incluye, el browser determina el ancho de la celda,
en función de los contenidos del resto de las celdas de esta columna.
Se puede especificar como un ancho en pixels, o como un porcentaje del ancho de la tabla completa. |
<TH>
</TH> |
Crea una celda de encabezados.
Las celdas de encabezados son totalmente equivalentes a las celdas de datos
<TD>, salvo que el texto se muestra con un formato de presentación
resaltado.
Los atributos de <TH> son los mismos que los de <TD>. |
Creación de diferentes tipos de tablas
El proceso de creación de una tabla consiste simplemente en insertar adecuadamente las diferentes etiquetas de creación de filas y celdas, siguiendo una serie de sencillas reglas.
El primer paso consiste en conocer el número máximo de columnas que tendrá la tabla. Los clientes Web lo fijan buscando la fila con mayor número de elementos <TD>. Si una fila tiene menos celdas que este ancho máximo, al final de la misma aparecerán tantas celdas vacías como columnas falten. Más adelante se explicará como hacer que una celda ocupe más de una fila o columna.
Las etiquetas <TABLE>, <TR> y <TD> tienen un conjunto de atributos comunes; los valores de estos parámetros (de control de color y alineación) en cada uno de ellos actúan como valores por defecto para los elementos del nivel inferior, que pueden a su vez modificarlos.
Normas de enlazado con otras etiquetas:
Los atributos de los diferentes elementos de una tabla permiten un control completo sobre la anchura de la tabla y de cada una de sus columnas:
Espaciado entre celdas
En algunas ocasiones, es preciso controlar la distancia entre el borde interior de las celdas y su contenido. CELLPADDING permite especificar el valor que tomará esta distancia, expresado en pixels. Por defecto, toma el valor 1.
El otro atributo relacionado, CELLSPACING,
sirve para aumentar el ancho de las líneas de división entre
celdas y, por tanto, sólo tiene sentido cuando BORDER
es distinto de 0. Su valor por defecto es 2.
Control
de la alineación en las celdas
Los atributos ALIGN y VALIGN nos permiten controlar la forma en que se alinearán los contenidos de una celda con respecto a sus bordes. Estos parámetros pueden ser fijados en <TR>, con lo cual afectarán a todas las celdas de la fila, o en <TD>, aplicándose a una celda de datos individual.
Cambios
en la distribución de celdas
Los atributos COLSPAN (expansión en columnas) y ROWSPAN (expansión en filas) de <TD> (y también de <TH>) permiten hacer que una celda ocupe un número variable de filas o columnas contiguas. Para ello, en la celda que debe aumentar de tamaño, se especifica el número de filas hacia abajo, o el número de columnas a la derecha (o ambas) que ocupará. Por defecto, tanto COLSPAN como ROWSPAN valen 1.
Después, en las filas o columnas adyacentes, afectadas por este cambio, se incluirá un número inferior de elementos <TD>, en función del número de filas o columnas solapadas.
<TABLE BORDER=1>
<TR>
<TD>Elemento 1</TD>
<TD ROWSPAN=2>Elemento 2</TD>
<TD>Elemento 3</TD>
</TR>
<TR><TD>Elemento 4</TD> <TD>Elemento 5</TD></TR>
</TABLE>
<TABLE BORDER>
<TR><TD ALIGN=center ROWSPAN=2>Elemento
1 <BR>(2 celdas)</TD><TD>Elemento 2</TD><TD>Elemento 3</TD></TR>
<TR><TD>Elemento 4</TD><TD>Elemento 5</TD></TR>
<TR><TD ALIGN=center>Elemento 6</TD><TD ALIGN=center
COLSPAN=2>Elemento 7</TD></TR>
</TABLE>
Control
de la alineación de la tabla
Al igual que las imágenes, las tablas disponen de atributos que permiten su anclado en los márgenes laterales, haciendo que el texto fluya a lo largo del nuevo margen creado. El control de la alineación de la tabla se realiza con el atributo ALIGN. Las posibilidades que se dan son:
Los browsers Internet Explorer y Netscape Navigator han introducido nuevos atributos que permiten controlar los colores utilizados en la presentación de varios elementos de una tabla. Estas etiquetas no están recogidas en ningún estándar y su empleo se debería limitar en lo posible.
Los colores se especifican a partir de códigos hexadecimales, o bien a través de unos nombres de colores predefinidos.
Netscape (a partir de la versión 3) permite alterar el color de fondo, a nivel de tabla, fila o celda individual, con el atributo BGCOLOR, que acepta un código de color hexadecimal o mnemotécnico. Por ejemplo,
BGCOLOR=
Color de fondo de una tabla o celda.
BORDERCOLOR=
Color de los bordes de la tabla o celda.
BORDERCOLORLIGHT
y BORDERCOLORDARK
Controlan los dos colores que se utilizan para
dar una apariencia tridimensional a las tablas.