La Etiqueta TBODY

Se utiliza en HTML para agrupar las filas que contienen datos principales dentro de una tabla.
La etiqueta <tbody> (cuerpo de la tabla) se utiliza en HTML para agrupar las filas que contienen datos principales dentro de una tabla (<table>). Junto con <thead> (encabezados) y <tfoot> (pie), mejora la semántica, accesibilidad y organización de la información. Aquí te explicamos cómo usarla correctamente.
¿Qué es <tbody>?
-
Propósito: Define el bloque de filas que representan el contenido central de una tabla.
-
Semántica: Ayuda a navegadores, lectores de pantalla y motores de búsqueda a entender la estructura de los datos.
-
Uso implícito: Si no se especifica
<tbody>, el navegador agrupa automáticamente todas las filas dentro de uno. Sin embargo, es buena práctica incluirlo explícitamente.
Estructura básica de una tabla con <tbody>
<table>
<thead>
<tr>
<th>Producto</th>
<th>Precio</th>
</tr>
</thead>
<tbody>
<tr>
<td>Laptop</td>
<td>$800</td>
</tr>
<tr>
<td>Teléfono</td>
<td>$300</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>Total</td>
<td>$1100</td>
</tr>
</tfoot>
</table>
Resultado:
| Producto | Precio |
|---|---|
| Laptop | $800 |
| Teléfono | $300 |
| Total | $1100 |
Casos de uso
a) Agrupar datos principales
Envuelve todas las filas de datos entre <tbody>:
<table>
<thead>...</thead>
<tbody>
<tr>...</tr>
<tr>...</tr>
</tbody>
</table>
b) Múltiples <tbody> para secciones
Divide los datos en grupos lógicos:
<table>
<thead>
<tr><th>País</th><th>Población</th></tr>
</thead>
<tbody>
<tr><td>México</td><td>126M</td></tr>
<tr><td>Colombia</td><td>51M</td></tr>
</tbody>
<tbody>
<tr><td>Argentina</td><td>45M</td></tr>
<tr><td>Chile</td><td>19M</td></tr>
</tbody>
</table>
Estilización con CSS
Aplica estilos específicos al cuerpo de la tabla:
tbody {
background: #f9f9f9; /* Fondo del cuerpo */
}
tbody tr:hover {
background: #e0f7fa; /* Efecto hover */
}
tbody tr:nth-child(even) {
background: #f0f0f0; /* Filas alternas */
}
Accesibilidad
Lectores de pantalla: Reconocen <tbody> para navegar entre secciones.
Atributos ARIA: Usa role="rowgroup" si es necesario:
<tbody role="rowgroup"> <tr>...</tr> </tbody>
Buenas prácticas
-
Orden de etiquetas:
<thead>→<tbody>→<tfoot>(aunque visualmente<tfoot>puede aparecer al final). -
No anidar tablas: Evita colocar otra
<table>dentro de<tbody>. -
Contenido obligatorio:
<tbody>debe contener al menos una fila (<tr>).
Ejemplo completo
<!DOCTYPE html>
<html lang="es">
<head>
<style>
table {
width: 80%;
border-collapse: collapse;
margin: 20px auto;
font-family: Arial;
}
th, td {
border: 1px solid #ddd;
padding: 12px;
text-align: left;
}
th {
background: #2ecc71;
color: white;
}
tbody tr:nth-child(even) {
background: #f9f9f9;
}
tbody tr:hover {
background: #f1f1f1;
}
</style>
</head>
<body>
<table>
<thead>
<tr>
<th>País</th>
<th>Capital</th>
</tr>
</thead>
<tbody>
<tr>
<td>México</td>
<td>Ciudad de México</td>
</tr>
<tr>
<td>España</td>
<td>Madrid</td>
</tr>
</tbody>
<tfoot>
<tr>
<td colspan="2">Total: 2 países</td>
</tr>
</tfoot>
</table>
</body>
</html>
Resultado:
| País | Capital |
|---|---|
| México | Ciudad de México |
| España | Madrid |
| Total: 2 países |
Errores comunes
Etiquetas fuera de orden:
<table> <tbody>...</tbody> <thead>...</thead> </table>
Contenido vacío:
<tbody></tbody> <!-- Falta <tr> -->
Conclusión
La etiqueta <tbody> es clave para:
-
Organizar datos tabulares de manera semántica.
-
Facilitar el estilo y la accesibilidad.
-
Separar secciones lógicas en tablas complejas.
Recuerda:
-
Usa
<thead>,<tbody>, y<tfoot>para estructurar claramente. -
Evita atributos obsoletos como
alignobgcolor(mejor CSS). -
Prioriza la claridad y la accesibilidad en tus tablas.
¡Ahora puedes crear tablas bien estructuradas y profesionales con <tbody>!