Overview
Advanced HTML tables may contain <thead>, <tbody>, and <tfoot> tags, along with a <caption> to give the data better structure. Other than that, there isn’t any difference from a basic table structure.
<table>
<caption>
This is the caption
</caption>
<thead>
<tr>
<th>First Number</th>
<th>Second Number</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>5</td>
<td>6</td>
</tr>
</tbody>
<tfoot>
<tr>
<td>Total 9</td>
<td>Total 12</td>
</tr>
</tfoot>
</table>
Table Caption
The <caption> tag defines a table caption. It must be inserted immediately after the opening <table> tag. It will be centered above the table, but can be changed via CSS.
<table>
<caption>
This is the caption
</caption>
</table>
Table Header, Body, and Footer
The table can then have its data separated into groups using <thead>, <tbody>, and <tfoot>. Using all three isn’t necessary, but if you are using <tbody>, you should at least use a <thead> above it.
This alters nothing on the page in the browser, but makes the code easier to read and gives the data more context for the browser, search engines, etc.
Within the <thead> we place our header row and information using <tr> and <th> tags.
<thead>
<tr>
<th>First Number</th>
<th>Second Number</th>
</tr>
</thead>
Inside the <tbody> lives the main data set for our table. Just as in a basic table structure, the data sits in rows <tr /tr> containing columns <td /td> of information.
<tbody>
<tr>
<td>1</td>
<td>2</td>
</tr>
<tr>
<td>3</td>
<td>4</td>
</tr>
<tr>
<td>5</td>
<td>6</td>
</tr>
</tbody>
Finally, inside the <tfoot> portion of our advanced table structure, sits the table footer information row <tr> and data <td>.
Note
The only difference between an advanced table and a basic table is the use of <thead>, <tbody>, <tfoot>, and the <caption> to better structure the data.
Note
Another way to group and apply formatting to tables is by using the <colgroup> tag and <col> tag.
HTML Notes:
- In our HTML section the term “tag” and “element” are often used interchangeably to refer to both the tag used to create a page element and the element created by the tag (<p> tag = <p> element = paragraph on the page)
- HTML5 is not case sensitive; so <P> is the same as <p>, <H1> is the same as <h1>
- Global attributes can be used with all HTML tags and are therefore not mentioned on every tag page
- To write clean, readable HTML code, it is best to use indentation whereas elements within elements are indented (tabbed or spaces) to create something that looks like a project outline
- The browser will automatically remove any extra spaces and lines in your HTML code when the page is displayed
- Double quotes or single quotes can be used around HTML attribute values, but when the attribute value itself contains one form of quote, it will be necessary to use the other around the attribute
We’d like to acknowledge that we learned a great deal of our coding from W3Schools and TutorialsPoint, borrowing heavily from their teaching process and excellent code examples. We highly recommend both sites to deepen your experience, and further your coding journey. We’re just hitting the basics here at 1SMARTchicken.