A table is a structured set of data made up of rows and columns (tabular data). They usually contain information that you’d typically find in something like a spreadsheet or on a grid. The purpose of a table is to allow a visitor to quickly and easily lookup and compare information. A calendar is a table that lets you check the year, month, day of the week, date, and any special information about that particular date such as holidays or appointments.



The table element doesn’t do very much by itself.

Table Header

Used to add cells at the top of the table.


Table Caption

Used within the table header to describe the information in the table.


Table Body

The main body of the table.


Table Rows

Used to represent table rows.


Table Cell Heads

Used within the table rows to represent column heads and row heads. Apply the scope attribute with either the row or col values to let the browser know what the element is the head of..


Table Cells

Used within the table rows to represent cells in a table.



<td rowspan="2"></td>


<td colspan="2"></td>

Table Footer

Used to add cells at the bottom of the table.


A Complete Table

A complete table would look something like this:

Table caption
Head cell one infoHead cell two info
Cell one infoCell two info
Cell three infoCell four info
Cell five infoCell six info
Foot cell one infoFoot cell two info
  <caption>Table caption</caption>
      <th scope="col">Cell one info</th><th scope="col">Cell two info</th>
      <td>Cell one info</td><td>Cell two info</td>
      <td>Cell three info</td><td>Cell four info</td>
      <td>Cell five info</td><td>Cell six info</td>
      <td>Foot cell one info</td><td>Foot cell two info</td>

The table element, more than any other, requires additional CSS for Tables to reach its full potential.