Etiquetas de bloque y en línea
Tablas en HTML
Existen algunas etiquetas básicas que podemos usar para crear tablas.
<table>: Table o tabla.
<tr>: Table Row o fila de tabla
<td>: Table Data o dato de tabla
Estructura básica de una tabla
Utilizamos <table> para definir la existencia de una tabla, <tr> para crear filas dentro de ella, y <td> para segmentar dichas filas.
<table> <tr> <td>Celda (1,1)</td> <td>Celda (1,2)</td> <td>Celda (1,3)</td> </tr> <tr> <td>Celda (2,1)</td> <td>Celda (2,2)</td> <td>Celda (2,3)</td> </tr> <tr> <td>Celda (3,1)</td> <td>Celda (3,2)</td> <td>Celda (3,3)</td> </tr></table>Agregando encabezados
Si queremos agregar títulos a las columnas podemos crear una fila inicial y segmentarla con etiquetas <th> en lugar de etiquetas <td>.
<table> <tr> <th>Encabezado 1</th> <th>Encabezado 2</th> <th>Encabezado 3</th> </tr> <!-- Datos de la tabla --></table>Dándole un título
Si queremos agregar un texto para titular nuestra tabla, podemos usar la etiqueta <caption>.
<table> <caption> Título </caption> <!-- Encabezado de la tabla --> <!-- Datos de la tabla --></table>Agregando el pie de tabla
Habrá algunas ocasiones donde tengamos que crear una última fila para crear un resumen o un total del contenido de la tabla. Lo podemos hacer con <tfoot>.
<table> <!-- Resto de la tabla --> <tfoot> <tr> <td>Sección de pie 1</td> <td>Sección de pie 2</td> <td>Sección de pie 3</td> </tr> </tfoot></table>Sobre HTML semántico
Para mejorar la accesibilidad y legibilidad de la tabla, podemos utilizar adicionalmente las etiquetas <thead> y <tbody>.
Colocaremos la fila de encabezados dentro de <thead> y el contenido de la tabla dentro de etiquetas <tbody> (puede haber más de una sección), por último debe estar <tfoot>.
Así tendremos una estructura similar a esta:
<table> <caption> <!-- Título --> </caption> <thead> <!-- Fila de encabezados --> </thead> <tbody> <!-- Filas de contenido --> </tbody> <tbody> <!-- Filas de contenido --> </tbody> <tfoot> <!-- Fila de pie --> </tfoot></table>Usemos todo al mismo tiempo
Un ejemplo real podría verse de la siguiente manera:
<table> <caption> Reporte de Ventas </caption> <thead> <tr> <th>Producto</th> <th>Cantidad</th> <th>Costo</th> </tr> </thead> <tbody> <tr> <td>Producto A</td> <td>40</td> <td>$400</td> </tr> <tr> <td>Producto B</td> <td>30</td> <td>$300</td> </tr> <tr> <td>Producto C</td> <td>10</td> <td>$500</td> </tr> </tbody> <tfoot> <tr> <td>Total</td> <td>80</td> <td>$1200</td> </tr> </tfoot></table>Y para mejorar su visualización podríamos agregar un par de estilos
table { border-collapse: collapse;}caption { margin: 8px 0;}td,th { border: 1px solid black; text-align: center; padding: 2px 4px;}Comentarios
Roadmap
Web Dev (Frontend)
Artículo 29 de 63