Defining an HTML Table
An HTML table is defined with the
<table>
tag.
Each table row is defined with the
<tr>
tag. A table header is defined with the <th>
tag. By default, table headings are bold and centered. A table data/cell is defined with the <td>
tag.
<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>
<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>
Basic HTML Table
Firstname | Lastname | Age |
---|---|---|
Jill | Smith | 50 |
Eve | Jackson | 94 |
John | Doe | 80 |
Note: The
They can contain all sorts of HTML elements; text, images, lists, other tables, etc
<td>
elements are the data containers of the table.They can contain all sorts of HTML elements; text, images, lists, other tables, etc
HTML Table - Adding a Border
If you do not specify a border for the table, it will be displayed without borders.
A border is set using the CSS
border
property:
table, th, td {
border: 1px solid black;}
border: 1px solid black;}
Bordered Table
Use the CSS border property to add a border to the table.
Firstname | Lastname | Age |
---|---|---|
Jill | Smith | 50 |
Eve | Jackson | 94 |
John | Doe | 80 |
HTML Table - Collapsed Borders
If you want the borders to collapse into one border, add the CSS
border-collapse
property:
table, th, td {
border: 1px solid black;
border-collapse: collapse;}
border: 1px solid black;
border-collapse: collapse;}
Collapsed Borders
If you want the borders to collapse into one border, add the CSS border-collapse property.
Firstname | Lastname | Age |
---|---|---|
Jill | Smith | 50 |
Eve | Jackson | 94 |
John | Doe | 80 |
HTML Table - Adding Cell Padding
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
padding
property:
th, td {
padding: 15px;}
padding: 15px;}
Cellpadding
Cell padding specifies the space between the cell content and its borders.
Firstname | Lastname | Age |
---|---|---|
Jill | Smith | 50 |
Eve | Jackson | 94 |
John | Doe | 80 |
HTML Table - Left-align Headings
By default, table headings are bold and centered.
To left-align the table headings, use the CSS
text-align
property:
th {
text-align: left;}
text-align: left;}
Left-align Headings
To left-align the table headings, use the CSS text-align property.
Firstname | Lastname | Age |
---|---|---|
Jill | Smith | 50 |
Eve | Jackson | 94 |
John | Doe | 80 |
HTML Table - Adding Border Spacing
Border spacing specifies the space between the cells.
To set the border spacing for a table, use the CSS
border-spacing
property:
table {
border-spacing: 5px;}
border-spacing: 5px;}
Note: If the table has collapsed borders, border-spacing has no effect.
Border Spacing
Border spacing specifies the space between the cells.
Firstname | Lastname | Age |
---|---|---|
Jill | Smith | 50 |
Eve | Jackson | 94 |
John | Doe | 80 |
HTML Table - Cells that Span Many Columns
To make a cell span more than one column, use the
colspan
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>
<tr>
<th>Name</th>
<th colspan="2">Telephone</th>
</tr>
<tr>
<td>Bill Gates</td>
<td>55577854</td>
<td>55577855</td>
</tr>
</table>
Cell that spans two columns
To make a cell span more than one column, use the colspan attribute.Name | Telephone | |
---|---|---|
Bill Gates | 55577854 | 55577855 |
HTML Table - Cells that Span Many Rows
To make a cell span more than one row, use the
rowspan
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>
<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>
Cell that spans two rows
To make a cell span more than one row, use the rowspan attribute.Name: | Bill Gates |
---|---|
Telephone: | 55577854 |
55577855 |
HTML Table - Adding a Caption
To add a caption to a table, use the
<caption>
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>
<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>
able Caption
To add a caption to a table, use the caption tag.Month | Savings |
---|---|
January | $100 |
February | $50 |
Note: The
<caption>
tag must be inserted immediately afterthe <table>
tag.A Special Style for One Table
To define a special style for a special table, add an
id
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>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
</tr>
<tr>
<td>Eve</td>
<td>Jackson</td>
<td>94</td>
</tr>
</table>
Now you can define a special style for this table:
table#t01 {
width: 100%;
background-color: #f1f1c1;}
width: 100%;
background-color: #f1f1c1;}
Styling Tables
Firstname | Lastname | Age |
---|---|---|
Jill | Smith | 50 |
Eve | Jackson | 94 |
John | Doe | 80 |
Firstname | Lastname | Age |
---|---|---|
Jill | Smith | 50 |
Eve | Jackson | 94 |
John | Doe | 80 |
And add more styles:
table#t01 tr:nth-child(even) {
background-color: #eee;}
table#t01 tr:nth-child(odd) {
background-color: #fff;}
table#t01 th {
color: white;
background-color: black;}
background-color: #eee;}
table#t01 tr:nth-child(odd) {
background-color: #fff;}
table#t01 th {
color: white;
background-color: black;}
Styling Tables
Firstname | Lastname | Age |
---|---|---|
Jill | Smith | 50 |
Eve | Jackson | 94 |
John | Doe | 80 |
Firstname | Lastname | Age |
---|---|---|
Jill | Smith | 50 |
Eve | Jackson | 94 |
John | Doe | 80 |
Chapter Summary
- Use the HTML
<table>
element to define a table - Use the HTML
<tr>
element to define a table row - Use the HTML
<td>
element to define a table data - Use the HTML
<th>
element to define a table heading - Use the HTML
<caption>
element to define a table caption - Use the CSS
border
property to define a border - Use the CSS
border-collapse
property to collapse cell borders - Use the CSS
padding
property to add padding to cells - Use the CSS
text-align
property to align cell text - Use the CSS
border-spacing
property to set the spacing between cells - Use the
colspan
attribute to make a cell span many columns - Use the
rowspan
attribute to make a cell span many rows - Use the
id
attribute to uniquely define one table
Thanks for learning this exciting TAG & attributes !
No comments:
Post a Comment