Parte 2: HTML: la estructura · Lección 8 de 18

#08 Tablas

Presenta datos en filas y columnas, como un horario o una lista de precios, con cabeceras claras. 20 min

Datos en filas y columnas

Un horario, una lista de precios, la clasificación de una liga… Cuando tienes datos que se leen en filas y columnas, lo que necesitas es una tabla. Se construye así:

  • <table>: la tabla entera.
  • <tr> (table row): cada fila.
  • <th> (table header): una celda de cabecera, que dice qué hay en la columna.
  • <td> (table data): una celda de datos.
Una tabla sencilla

Tab añade una sangría. Pulsa Escape y luego Tab para salir del editor.

Resultado

Las cabeceras salen en negrita y centradas. Los bordes no aparecen porque eso es estilo: te dejamos un poco de CSS en el siguiente ejemplo para verlos (aprenderás a escribirlo dentro de nada).

Cabecera, cuerpo y título

Las tablas más completas separan las filas de cabecera de las de datos y llevan un título:

  • <caption>: el título de la tabla. Va justo después de <table>.
  • <thead>: agrupa las filas de cabecera.
  • <tbody>: agrupa las filas de datos.
Tabla completa

Tab añade una sangría. Pulsa Escape y luego Tab para salir del editor.

Resultado

Fíjate en que <th> también puede ir al principio de una fila («Lunes», «Miércoles»): es la cabecera de esa fila. Así, quien usa un lector de pantalla oye «Lunes, Mañana: Iniciación» y no solo «Iniciación».

Celdas que ocupan más de una casilla

A veces una celda debe ocupar varias columnas o filas, como en un horario con un descanso para todos:

  • colspan="2": la celda ocupa dos columnas.
  • rowspan="2": la celda ocupa dos filas.
colspan y rowspan

Tab añade una sangría. Pulsa Escape y luego Tab para salir del editor.

Resultado

Cuándo no usar una tabla

Hace veinte años las tablas se usaban para colocar cosas en la página (el logo aquí, el menú allí…). Hoy eso es un error: las tablas son solo para datos. Para colocar elementos se usa CSS con Flexbox y Grid, que verás en la parte 4 del curso.

Errores típicos

  • Olvidar el <tr> y poner las celdas directamente dentro de <table>.
  • Filas con distinto número de celdas: la tabla se descuadra.
  • Usar <td> con <strong> en lugar de <th> para las cabeceras.
  • Usar tablas para maquetar la página.

Ejercicios

Ejercicio 1: tu semana (fácil)

Haz una tabla con dos columnas, «Día» y «Actividad», y tres filas de datos con lo que haces esa semana.

Ejercicio 1

Tab añade una sangría. Pulsa Escape y luego Tab para salir del editor.

Resultado
Pista

La primera fila lleva dos <th>; las demás, dos <td>.

Solución
html
<table>
  <tr>
    <th>Día</th>
    <th>Actividad</th>
  </tr>
  <tr>
    <td>Lunes</td>
    <td>Gimnasio</td>
  </tr>
  <tr>
    <td>Miércoles</td>
    <td>Clase de inglés</td>
  </tr>
  <tr>
    <td>Sábado</td>
    <td>Cine</td>
  </tr>
</table>

Ejercicio 2: la tabla completa (medio)

Convierte la tabla anterior en una tabla completa: con <caption>, <thead> y <tbody>, y una fila final con una sola celda que ocupe las dos columnas y diga «¡Domingo libre!».

Pista

La última fila tiene un único <td> con colspan="2".

Solución
html
<table>
  <caption>Mi semana</caption>
  <thead>
    <tr>
      <th>Día</th>
      <th>Actividad</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>Lunes</td>
      <td>Gimnasio</td>
    </tr>
    <tr>
      <td>Miércoles</td>
      <td>Clase de inglés</td>
    </tr>
    <tr>
      <td colspan="2">¡Domingo libre!</td>
    </tr>
  </tbody>
</table>

Ficha resumen

  • <table> → <tr> (fila) → <th> (cabecera) o <td> (dato). Se escribe fila a fila.
  • <caption> es el título; <thead> y <tbody> agrupan cabecera y datos.
  • colspan une columnas; rowspan une filas.
  • Las tablas son solo para datos, nunca para colocar cosas en la página.

Glosario

TérminoDefinición
<table>Elemento que contiene una tabla de datos.
<tr>Fila de una tabla (table row).
<th>Celda de cabecera de una columna o una fila (table header).
<td>Celda de datos (table data).
<caption>Título de una tabla.
colspanAtributo que hace que una celda ocupe varias columnas.
rowspanAtributo que hace que una celda ocupe varias filas.

Comprueba lo que has aprendido

Responde sin mirar arriba. Si fallas alguna, la explicación te dice por qué.

Pregunta 1 de 4

¿Qué representa <tr>?

¿Lo tienes claro?

Si has hecho los ejercicios y aciertas el test, márcala como estudiada y pasa a la siguiente.