This site is mobile accessible. Press the "Tap Here" button to use a smaller font-size.
Smartphone icons created by Freepik - Flaticon
HTML tables allow web developers to arrange data into rows and columns.
Company Contact Country Alfreds Futterkiste Maria Anders Germany Centro comercial Moctezuma Francisco Chang Mexico Ernst Handel Roland Mendel Austria Island Trading Helen Bennett UK Laughing Bacchus Winecellars Yoshi Tannamuri Canada Magazzini Alimentari Riuniti Giovanni Rovelli Italy
The
tag defines an HTML table. Each table row is defined with a tag. Each table header is defined with a tag. Each table data/cell is defined with a tag. By default, the text in elements are bold and centered. By default, the text in elements are regular and left-aligned.A simple HTML table:
<table style="width:100%"> <tr> <th>Firstname</th> <th>Lastname</th> <th>Age</th> </tr> <tr> <td>Jill</td> <td>Smith</td> <td>50</td> </tr> <tr> <td>Eve</td> <td>Jackson</td> <td>94</td> </tr> </table>
Note: The
elements are the data containers of the table. They can contain all sorts of HTML elements; text, images, lists, other tables, etc.To add a border to a table, use the CSS
property:table, th, td { border: 1px solid black; }
Remember to define borders for both the table and the table cells.
To let the borders collapse into one border, add the CSS
property:table, th, td { border: 1px solid black; border-collapse: collapse; }
Cell padding specifies the space between the cell content and its borders. If you do not specify a padding, the table cells will be displayed without padding. To set the padding, use the CSS
property:th, td { padding: 15px; }
By default, table headings are bold and centered. To left-align the table headings, use the CSS
property:th { text-align: left; }
Border spacing specifies the space between the cells. To set the border spacing for a table, use the CSS
property:table { border-spacing: 5px; }
Note: If the table has collapsed borders,
has no effect.To make a cell span more than one column, use the
attribute:<table style="width:100%"> <tr> <th>Name</th> <th colspan="2">Telephone</th> </tr> <tr> <td>Bill Gates</td> <td>55577854</td> <td>55577855</td> </tr> </table>
To make a cell span more than one row, use the
attribute:<table style="width:100%"> <tr> <th>Name:</th> <td>Bill Gates</td> </tr> <tr> <th rowspan="2">Telephone:</th> <td>55577854</td> </tr> <tr> <td>55577855</td> </tr> </table>
To add a caption to a table, use the
tag:<table style="width:100%"> <caption>Monthly savings</caption> <tr> <th>Month</th> <th>Savings</th> </tr> <tr> <td>January</td> <td>$100</td> </tr> <tr> <td>February</td> <td>$50</td> </tr> </table>
Note: The
tag must be inserted immediately after the tag.To define a special style for one particular table, add an
attribute to the table:<table id="t01"> <tr> <th>Firstname</th> <th>Lastname</th> <th>Age</th> </tr> <tr> <td>Eve</td> <td>Jackson</td> <td>94</td> </tr> </table>
#t01 { width: 100%; background-color: #f1f1c1; }
#t01 tr:nth-child(even) { background-color: #eee; } #t01 tr:nth-child(odd) { background-color: #fff; } #t01 th { color: white; background-color: black; }
Tag | Description |
---|---|
<table> | Defines a table |
<th> | Defines a header cell in a table |
<tr> | Defines a row in a table |
<td> | Defines a cell in a table |
<caption> | Defines a table caption |
<colgroup> | Specifies a group of one or more columns in a table for formatting |
<col> | Specifies column properties for each column within a | element
<thead> | Groups the header content in a table |
<tbody> | Groups the body content in a table |
<tfoot> | Groups the footer content in a table |
The first four tags are compulsory for defining a table. The rest are optional. |
For a complete list of all available HTML tags, visit HTML Tag Reference.