tabla

Resumen

El Elemento de Tabla HTML (<table>) representa datos en dos o mas dimensiones.

Nota: Antes de la creación de CSS, los elementos HTML <table> eran frecuentemente utilizados para la disposición (posicionamiento) de una página. Este uso ha sido desalentado desde HTML 4, y el elemento no debe ser usado para dichos fines.

Contexto de uso

Categoria del contenido Flujo del contenido
Contenido permitido
En este orden:
  • un elemento opcional <caption>,
  • cero o mas elementos <colgroup>,
  • un elemento opcional <thead>,
  • una de las dos alternativas:
    • un elemento <tfoot>, seguido por:
      • cero o mas elementos <tbody>,
      • o uno o mas elementos <tr>,
    • una segunda alternativa seguida por un elemento opcional <tfoot>:
      • cualquier cero o mas elementos <tbody>,
      • uno o mas elementos <tr>
Omisión de etiqueta Ninguna, ambas la etiqueta de inicio y de fin son obligatorias
Elementos padre permitidos cualquier elemento que acepte elementos de flujo
Documento normativo HTML5, section 4.9.1 (HTML4.01, section 11.2.1)

Atributos

Al igual que otros elementos HTML, este elemento también soporta atributos globales.

align
 Este atributo enumerativo indica como va a encontrarse alineada la tabla respecto al contenido del documento en cuestión, pudiendo tener los siguientes valores:
  • left,significa que la tabla será mostrada a la izquierda del documento;
  • center, significa que la tabla será mostrada al centro del documento;
  • right, significa que la tabla será mostrada a la derecha del documento.
Nota: 
  • No usar este atributo, ya que ha sido declarado obsoleto: el elemento <table> debe ser estilizado usando CSS. A fin de dar un efecto similar al atributo align, las propiedades text-align y vertical-align deben ser usadas.
  • Antes de la version 4 de Firefox, este ya soportaba sólo en el modo quirks (compatibilidad con navegadores antiguos) los valores middle, absmiddle, and abscenter como sinónimos de center
bgcolor
Este atributo define el color de fondo de la tabla . Es un código hexadecimal como el dado en el formato sRGB (bajo el prefijo '#'). Uno de los 16 colores predefinidos podía ser usado:
  black (negro) = "#000000"   green (verde) = "#008000"
  silver (plata) = "#C0C0C0"   lime (lima) = "#00FF00"
  gray (gris) = "#808080"   olive (oliva) = "#808000"
  white (blanco) = "#FFFFFF"   yellow (amarillo) = "#FFFF00"
  maroon (marrón) = "#800000"   navy (azul marino) = "#000080"
  red (rojo) = "#FF0000"   blue (azul) = "#0000FF"
  purple (púrpura) = "#800080"   teal (verde esmeralda) = "#008080"
  fuchsia (fucsia) = "#FF00FF"   aqua (verde agua) = "#00FFFF"
Nota de uso: No usar este atributo, dado que ha sido declarado obsoleto. El elemento <table> debe ser estilizado utilizando CSS. A fin de dar un efecto similar al atributo bgcolor, la propiedad CSS background-color debe ser usada.
border
Este atributo entero define el tamaño del cuadro alrededor de la tabla . Si estuviese puesta en 0, implicaría que dicho atributo sería nulo.
Nota de uso: No usar este atributo en CSS dado que es obsoleto: el elemento <table> debe ser estilizado usando CSS. A fin de dar un efecto similar al atributo, las propiedades CSS nativas border, border-color, border-width y border-style deben ser usadas.
cellpadding
Este atributo define el espacio entre el contenido de una celda y su borde (mostrado o no), si fuese la longitud de un pixel, dicho espacio será aplicado en los 4 costados, caso que fuese un porcentaje, el contenido será centrado y todo el espacio vertical representará a este porcentaje. Lo mismo será válido para todo el espacio horizontal
Nota de uso: No usar este atributo en CSS dado que es obsoleto: el elemento <table> debe ser estilizado usando CSS. Para dar un efecto similar al atributo border, use la propiedad CSS border-collapse con el valor collapse en el mismo elemento <table>, y la propiedad padding en el elemento <td>.
cellspacing
Este atributo define el espacio entre el contenido de una celda y su borde (mostrado o no), si fuese la longitud de un pixel, dicho espacio será aplicado en los 4 costados, caso que fuese un porcentaje, el contenido será centrado y todo el espacio vertical representará a este porcentaje. Lo mismo será válido para todo el espacio horizontal.
Nota de uso: No usar este atributo en CSS dado que es obsoleto: el elemento <table> debe ser estilizado usando CSS. Para dar un efecto similar al atributo border, use la propiedad border-collapse con el valor collapse en el mismo elemento <table>, y la propiedad margin en el elemento <td>.
frame
Este atributo enumerativo define cual lado del cuadro alrededor de la tabla será mostrada. Puede tener los siguientes valores:
  above   below
  hsides   vsides
  lhs   rhs
  border   box
  void
Nota de uso: No usar este atributo en CSS dado que es obsoleto: el elemento <table> debe ser estilizado usando CSS. Para dar un efecto similar al atributo frame use las propiedades CSS border-style y border-width.
rules
Este atributo enumerativo define donde aparecen las reglas en la tabla, por ejemplo líneas. Puede tener los siguientes valores:
  • none, indica que ninguna regla se mostrará, es el valor por defecto;
  • groups, mostrará el número de reglas a mostrarse entre grupos de filas (defined by the <thead>, <tbody> y <tfoot> elements) y entre grupos de columnas (defined by the <col> y <colgroup> elements) solamente;
  • rows, que mostrará las reglas entre filas;
  • columns, que mostrará las reglas entre columnas;
  • all, que mostrará las reglas entre filas y columnas.
Nota:
  • El estilo de las reglas depende del navegador usado y no puede ser modificado.
  • Nota de uso: No usar este atributo en CSS dado que es obsoleto: el elemento <table> debe ser estilizado usando CSS. Use la propiedad border en los elementos adecuados <thead>, <tbody>, <tfoot>, <col> o <colgroup>.
summary
Este atributo define un texto alternativo para describir una tabla en un usuario incapaz de mostrarlo, corrientemente contiene una descripcion de él que posibilita a discapacitaos visulaes (como invidentes navegando en pantallas braile) a obtener la información que necesitan.Si la información añadida en este atributo puede ser útil a otras personas, considere el utilizar el elemento <caption> en vez de este. instead. El atributo de resumen no es obligatorio usuarlo, pudiendo ser omitido si un elemento <caption> realiza similar labor.
Nota de uso: No use este atributo, dado que ha sido declarado obsoleto. En su lugar, use alguna de estas formas de describir una tabla:
  • En prosa, rodeando la tabla (esta es la forma menos semántica de lograrlo).
  • En el elemento <caption> de la tabla.
  • En un elemento <details>, dentro del elemento <caption> de la tabla.
  • Incluye el elemento <table> en un elemento <figure> y añada la descripción en prosa al lado de él.
  • Incluya el elemento <table> en un elemento <figure> y añada la descripción en prosa dentro de un elemento <figcaption>.
  • Ajuste la tabla de manera que la descripción no sea necesaria, usando los elementos <th> y <thead> por ejemplo.
width
Este atributo define el ancho de una tabla, pudiendo contener una longitud de píxeles o un porcentaje, que representa un porcentaje de anchura del contenedor que la tabla debiera usar.
No usar este atributo en CSS dado que es obsoleto: el elemento <table> debe ser estilizado usando CSS. Para dar un efecto similar al atributo frame use la propiedad CSS width en su lugar.

Interfaz DOM

Este elemento implementa la interfaz HTMLTableElement.

Ejemplos

<!-- Simple table -->
<table>
  <tr>
    <td>John</td>
    <td>Doe</td>
  </tr>
  <tr>
    <td>Jane</td>
    <td>Doe</td>
  </tr>
</table>

<!-- Simple table with header -->
<table>
  <tr>
    <th>First name</th>
    <th>Last name</th>
  </tr>
  <tr>
    <td>John</td>
    <td>Doe</td>
  </tr>
  <tr>
    <td>Jane</td>
    <td>Doe</td>
  </tr>
</table>

<!-- Table with thead, tfoot, and tbody -->
<table>
  <thead>
    <tr>
      <th>Header content 1</th>
      <th>Header content 2</th>
    </tr>
  </thead>
  <tfoot>
    <tr>
      <td>Footer content 1</td>
      <td>Footer content 2</td>
    </tr>
  </tfoot>
  <tbody>
    <tr>
      <td>Body content 1</td>
      <td>Body content 2</td>
    </tr>
  </tbody>
</table>

<!-- Table with colgroup -->
<table>
  <colgroup span="4" class="columns"></colgroup>
  <tr>
    <th>Countries</th>
    <th>Capitals</th>
    <th>Population</th>
    <th>Language</th>
  </tr>
  <tr>
    <td>USA</td>
    <td>Washington D.C.</td>
    <td>309 million</td>
    <td>English</td>
  </tr>
  <tr>
    <td>Sweden</td>
    <td>Stockholm</td>
    <td>9 million</td>
    <td>Swedish</td>
  </tr>
</table>

<!-- Table with colgroup and col -->
<table>
  <colgroup>
    <col class="column1">
    <col class="columns2plus3" span="2">
  </colgroup>
  <tr>
    <th>Lime</th>
    <th>Lemon</th>
    <th>Orange</th>
  </tr>
  <tr>
    <td>Green</td>
    <td>Yellow</td>
    <td>Orange</td>
  </tr>
</table>

<!-- Simple table with caption -->
<table>
  <caption>Awesome caption</caption>
  <tr>
    <td>Awesome data</td>
  </tr>
</table>

Resultado

John Doe
Jane Doe
First name Last name
John Doe
Jane Doe
Header content 1 Header content 2
Footer content 1 Footer content 2
Body content 1 Body content 2
Countries Capitals Population Language
USA Washington D.C. 309 million English
Sweden Stockholm 9 million Swedish
Lime Lemon Orange
Green Yellow Orange
Awesome caption
Awesome data

Compatibilidad de navegadores

Característica Chrome Firefox (Gecko) Internet Explorer Opera Safari
Soporte básico 1.0 1.0 (1.7 or earlier) 4.0 7.0 1.0
Característica Android Firefox Mobile (Gecko) IE Mobile Opera Mobile Safari Mobile
Soporte básico 1.0 1.0 (1) 6.0 6.0 1.0

Consulte también

Etiquetas y colaboradores del documento

 Colaboradores en esta página: teoli, jesanchez, cortega, tany
 Última actualización por: teoli,