Try it Yourself - Examples
HTML Tables
How to define tables in an HTML document.
Table borders HTML
This example demonstrates different table borders.
(More examples at the bottom of the page.)
Tables
Tables are defined with the <table> tag. A table is divided into rows (with the <tr> tag), and each row is divided into data cells (with the <td> tag). The letters td stands for "table data," which is the content of a data cell. A data cell can contain text, images, lists, paragraphs, forms, horizontal rules, tables, etc.
|
<table border="1"> <tr> <td>row 1, cell 1</td> <td>row 1, cell 2</td> </tr> <tr> <td>row 2, cell 1</td> <td>row 2, cell 2</td> </tr> </table> |
How it looks in a browser:
| row 1, cell 1 | row 1, cell 2 |
| row 2, cell 1 | row 2, cell 2 |
Tables and the Border Attribute
If you do not specify a border attribute the table will be displayed without any borders. Sometimes this can be useful, but most of the time, you want the borders to show.
To display a table with borders, you will have to use the border attribute:
|
<table border="1"> <tr> <td>Row 1, cell 1</td> <td>Row 1, cell 2</td> </tr> </table> |
Headings in a Table
Headings in a table are defined with the <th> tag.
|
<table border="1"> <tr> <th>Heading</th> <th>Another Heading</th> </tr> <tr> <td>row 1, cell 1</td> <td>row 1, cell 2</td> </tr> <tr> <td>row 2, cell 1</td> <td>row 2, cell 2</td> </tr> </table> |
How it looks in a browser:
| Heading | Another Heading |
|---|---|
| row 1, cell 1 | row 1, cell 2 |
| row 2, cell 1 | row 2, cell 2 |
Empty Cells in a Table
Table cells with no content are not displayed very well in most browsers.
|
<table border="1"> <tr> <td>row 1, cell 1</td> <td>row 1, cell 2</td> </tr> <tr> <td>row 2, cell 1</td> <td></td> </tr> </table> |
How it looks in a browser:
| row 1, cell 1 | row 1, cell 2 |
| row 2, cell 1 |
Note that the borders around the empty table cell are missing (NB! Mozilla Firefox displays the border).
To avoid this, add a non-breaking space ( ) to empty data cells, to make the borders visible:
|
<table border="1"> <tr> <td>row 1, cell 1</td> <td>row 1, cell 2</td> </tr> <tr> <td>row 2, cell 1</td> <td> </td> </tr> </table> |
How it looks in a browser:
| row 1, cell 1 | row 1, cell 2 |
| row 2, cell 1 |
Basic Notes - Useful Tips
The <thead>,<tbody> and <tfoot> elements are seldom used, because of bad browser support. Expect this to change in future versions of XHTML.
More Examples
HTML Table with no border
This example demonstrates a table with no borders.
Headings in a table HTML
This example demonstrates how to display table headers.
Empty cells HTML
This example demonstrates how to use " " to handle cells that have no content.
Table with a caption HTML
This example demonstrates a table with a caption.
Table cells that span more than one row/column HTML
This example demonstrates how to define table cells that span more than one row or one column.
Tags inside a table HTML
This example demonstrates how to display elements inside other elements.
Cell padding HTML
This example demonstrates how to use cellpadding to create more white space between the cell content and its borders.
Cell spacing HTML
This example demonstrates how to use cellspacing to increase the distance between the cells.
Add a background color or a background image to a table HTML
This example demonstrates how to add a background to a table.
Add a background color or a background image to a table cell HTML
This example demonstrates how to add a background to one or more table cells.
Align the content in a table cell HTML
This example demonstrates how to use the "align" attribute to align the content of cells, to create a "nice-looking" table.
The frame attribute HTML
This example demonstrates how to use the "frame" attribute to control the borders around the table.
The frame and border attributes HTML
How to use the "frame" and "border" attributes to control the borders around the table.
Table Tags
| Tag | Description |
|---|---|
| <table> | Defines a table |
| <th> | Defines a table header |
| <tr> | Defines a table row |
| <td> | Defines a table cell |
| <caption> | Defines a table caption |
| <colgroup> | Defines groups of table columns |
| <col> | Defines the attribute values for one or more columns in a table |
| <thead> | Defines a table head |
| <tbody> | Defines a table body |
| <tfoot> | Defines a table footer |

