Home » HTML » HTML Table

HTML Table Tag

We all are familiar with the concept of tables with rows and columns. But how would you create a table in a website? HTML table tag family displays a table in a webpage. It’s similar like the structure of a matrix with proper rows and columns. This type of structure with rows and columns is very helpful in representing data in an organized manner. The tabular form of data creates a good impression on user.

Today we will learn about all HTML table tags that will help you to create a table for your data.


Example of HTML table tag:

Lets see the first example of how to use HTML table tags. Just observe the example for now; we have explained each tag one by one after the example.


<!DOCTYPE html>
<html lang="en">
<HTML>
<head>
<meta charset="UTF-8">
<title> HTML Table </title>
</head>
<body>
<table>
<tr>
<th> Name </th>
<th> Salary </th>
<th> Age </th>
</tr>
<tr>
<td> Anshuman </td>
<td> Rs. 2,00,000 </td>
<td> 25 </td>
</tr>
<tr> <td> Kuldeep </td>
<td> Rs. 5,00,000 </td>
<td> 22 </td>
</tr>
</table> </body>
</html>

Output

HTML Table Tag Examples
Name Salary   Age
Anshuman   Rs. 2,00,000   25
Kuldeep   Rs. 5,00,000   22

HTML Table Row tag <tr>

HTML table row is defined by <tr> tag. It is a paired tag with </tr> as a closing tag. Whatever written between these tags will be displayed in a single row of the table.

To create a new row, add another <tr> tag after closing the previous one.

HTML Table header tag <th>

HTML table header is a special case of a table row. It starts with <th> tag and ends with </th> tag. The difference between a row and a heading is that text written inside <th> tags is displayed in bold font, and centered aligned by the browser. Because of its properties this tag is used only for writing headings in the table.

HTML Table cell tag <td>

HTML table cell is defined by <td> tag. It is a paired tag with </td> as a closing tag. Each pair of these tags represents a cell in a row.

It can only be used inside &glt;tr> or <td> tags. After declaring rows, the <td> tags are used to enter data in the table. Whatever is written inside the <td> and </td> tags will be displayed by the browser in the tables as it is.


HTML Table Attributes

The <table> Tag in HTML has many attributes that define the structure of the table. These attributes can make a table look a bit more attractive. Let’s see one by one the different attributes of the table tag and then we will use them in an example and will see the changes in the table.

HTML table border Attribute

HTML table border attribute is used to specify borders in a table. It means that, by default the borders in the table are hidden and if you don’t specify borders then your table will only display data but there would be no border.

The table border attribute has two values 0 and 1. 0 means no border and 1 means visible borders. You can also increase the values to 2, 3, 4, etc. it will increase the width of the border.

There are two ways to specify border for HTML tables:

  • By border attribute of table in HTML.
  • By CSS borders property.

Look at the example below to define an HTML border with border attribute:


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> HTML Table Border Attribute </title>
</head>
<body>
<table border="1" width="100%">
<tr>
<th> Name </th>
<th> Salary </th>
<th> Age </th>
</tr>
<tr>
<td> Anshuman </td>
<td> Rs. 2,00,000 </td>
<td> 25 </td>
</tr>
<tr>
<td> Kuldeep </td>
<td> Rs. 5,00,000 </td>
<td> 22 </td>
</tr>
</table>
</body>
</html>

Output

HTML Table Border Attribute
Name Salary Age
Anshuman Rs. 2,00,000 25
Kuldeep Rs. 5,00,000 22

Note: The width and height attributes are used to resize the table.


HTMl Table border using CSS

You can use CSS stylesheet to make table borders more attractive. Try changing border colors in the try-it editor.


<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> HTML Table Border Style </title>
<style>
table, th, td {
border: 1px solid black;
text-align: center;
}
</style>

</head>
<body>
<table width="100%">
<tr>
<th> Name </th>
<th> Salary </th>
<th> Age </th>
</tr>
<tr>
<td> Anshuman </td>
<td> Rs. 2,00,000 </td>
<td> 25 </td>
</tr>
<tr>
<td> Kuldeep </td>
<td> Rs. 5,00,000 </td>
<td> 22 </td>
</tr>
</table>
</body>
</html>

Output

HTML Table Border Style
Name Salary Age
Anshuman Rs. 2,00,000 25
Kuldeep Rs. 5,00,000 22


HTML Table Cellpadding and Cellspacing attributes

HTML table "cellpadding" and "Cellspacing" attributes are used to adjust the padding and margins in within table cells.

HTML Table Cellpadding attribute

The Cellpadding attribute is used to specify the space between the content of the cell and its borders. It provides padding to the content in the cell.

As you increase the value, the space between the cell’s content and its border also increases. The default value of cellpadding is taken in pixels by browsers. The cellpadding is applied to all the four sides of the content. The value can also be defined in percentages.

Cellspacing attribute

The Cellspacing attribute is used to specify the space between the cells of the table. Its value can be in pixels or in percentages. It is applied to all the sides of the cells.

Note: These two attributes are no longer a part of HTML 5. So, it is better to use CSS to color the tables.

Example of cellspacing and cellpadding Try this code »

<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> HTML Table Cellpadding Attribute </title>
</head>
<body>
<table border="1" cellpadding="5" cellspacing="5" style="width:100%">
<tr>
<th>Name</th>
<th>Salary</th>
</tr>
<tr>
<td>Peter</td>
<td>5000</td>
</tr>
<tr>
<td>John</td>
<td>7000</td>
</tr>
</table>
</body>
</html>

Output

HTML Table Cellpadding Attribute
Name
Salary
Peter 5000
John 7000

HTML Table Colspan and Rowspan Attribute

HTML table colspan and rowspan attributes are used with the <td> tag. As the name suggests ‘colspan’ is related to columns and ‘rowspan’ is related to rows.

These two attributes are used to merge two or more columns or rows. Table colspan attribute’s value suggest the amount of column space it will occupy. For example ‘<td colspan= 2>’ will create a cell taking space of two cells horizontally i.e. it will occupy the space of a cell of the next column.

Similarly, Table rowspan will create a cell which will occupy the space of two or more (as specified) cells vertically, i.e. cells of the next rows. Look at the example below to understand the concept clearly.

Example of HTML table rowspan

HTML table rowspan attribute is used to merge two or more rows together to form a single row. A single row occupies space of the number of merged rows. Look at the example:


<!DOCTYPE html>
<html>
<html lang="en">
<head>
<meta charset="UTF-8">
<style>
table, th, td {
border: 1px solid black;
border-collapse: collapse;
}
th, td {
padding: 5px;
text-align: left;
}
</style>
</head>
<body>
<h2>Cell that spans two rows:</h2>
<table style="width:100%">
<tr>
<th>Name:</th>
<td>Bill Gates</td>
</tr>
<tr>
<th rowspan="2">Telephone:</th>
<td>9998887776</td>
</tr>
<tr>
<td>9998887776</td>
</tr>
</table>
</body>
</html>

Output

Name: Bill Gates
Telephone: 9998887776
9998887776

Example of HTML table colspan

HTML table colspan attribute is used to merge two or more columns into a single column. Single column occupies space of the number of merged columns. Look at the example:


<!DOCTYPE html>
<html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> HTML Table Colspan Attribute </title>
</head>
<body>
<table border="1" width="80%">
<tr>
<th> Person_Name </th>
<th colspan="2"> Mobile </th>
</tr>
<tr>
<td> Bill Gates </td>
<td> 9998887776 </td>
<td> 9998887775 </td>
</tr>
</table>
</body>
</html>

Output

HTML Table Colspan Attribute Example
Person_Name
Mobile
Bill Gates 9998887776 9998887775

HTML table Caption attribute

HTML table caption attribute defines a caption to the table. It gets displayed with table as its name. To add a caption to a table, use the <caption> tag.

  • A caption can be aligned around the table by using align attribute with values - left/right/top/bottom.
  • The default alignment is top.
Example of HTMl table caption attribute Try this code »

<!DOCTYPE html>
<html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title> HTML Table Caption Attribute </title>
<style>
table, th, td {
border: 1px solid black;
}
</style>
</head>
<body>
<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>
</body>
</html>

Output

HTML Table Caption Attribute Example
Monthly savings
Month Savings
January $100
February $50

HTML table bgcolor attribute

HTML table bgcolor attribute is used to provide a background color to the table. You can easily write any color name directly or you can also set a color by providing HEX code. This attribute can also be used with <td> tag to define the color of that particular cell in the table.

HTML table background attribute

HTML table background attribute is used to add a background image in the table. The image in the table will work as a background behind the data in the table. It can be used with <td> tag.


Browser Support

Element
Microsoft Edge browser.png Edge
Chrome browser.png Chrome
Firefox browser.png Firefox
Opera browser.png Opera
safari browser.png Safari
<table>
Yes
Yes
Yes
Yes
Yes