Table HTML

HTML <table> Tag

To display a group of data in a tabular form the HTML <table> Tag is used. To serve this purpose the HTML <table> element is used, with <tr> tag to define the table row, <th> tag to define the table header, and the <td> tag to define the table data. However, to manage the layout of the page like the header section and the footer section, the use of <div> tag over the <table> element is recommended.

HTML Table Tags:

TAG USES
<table> To define a table.
<tr> To define a row in a table.
<th> To define a header cell in a table.
<td> To define a cell in a table.
<caption> To define the table caption.
<colgroup> To specify a group of one or more columns in a table for formatting.
<col> To specify column properties for each column. Used with the <colgroup> element.
<tbody> To group the body content in a table.
<thead> To group the header content in a table.
<tfooter> To group the footer content in a table.

Tag specific Attributes:

Attribute Value Uses HTML 5
align left

center

right

Used to define the table alignment relative to the surrounding text. Not supported in HTML5.
bgcolor rgb(x,x,x)

#xxxxxx

colorname

Used to define the background color of a table. Not supported in HTML5.
border 1

0

Used to determine whether or not the table is being used to serve the layout-related features. Not supported in HTML5.
cellpadding pixels Used to define the gap between the cell wall and the cell content. Not supported in HTML5.
cellspacing pixels Used to define the gap between two cells. Not supported in HTML5.
frame void

above

below

hsides

lhs

rhs

vsides

box

border

Used to define the visible parts of the outside borders. Not supported in HTML5.
rules none

groups

rows

cols

all

Used to define the visible parts of the inside borders. Not supported in HTML5.
summary text Used to define the content summary of a table. Not supported in HTML5.
width pixels

Used to define the width of a table.

Not supported in HTML5.

Global Attributes:

The HTML Global attributes are supported by the HTML <table> tag.

Event Attributes:

The HTML Event attributes are supported by the HTML <table> tag.

Supporting Browser:

Chrome, IE, Firefox, Opera, and Safari.

Table with defined Width in HTML:

Example:

<!DOCTYPE html>
<html>
<body>
<h3>Students Table</h3>
<table style="width:50%">
  <tr>
    <th>NAME</th>
    <th>AGE</th> 
    <th>CITY</th>
  </tr>
  <tr>
    <td>Tom</td>
    <td>10</td>
    <td>London</td>
  </tr>
  <tr>
    <td>Jerry</td>
    <td>8</td>
    <td>London</td>
  </tr>
  <tr>
    <td>Bruno</td>
    <td>12</td>
    <td>Wells</td>
  </tr>
</table>
</body>
</html>

Explanation:

In the above example, a table is created with three header cells namely, “NAME,” “AGE”, and “CITY”. There are three rows, where each row is defined by the <tr> tag, and the data in each row for each column is defined by the <td> tag. Here, the width of the table is also defined to be 50%.

HTML Table with Border

Example 1: Using the border attribute of the HTML table.

<!DOCTYPE html>
<html>
<body>
<h3>Students Table</h3>
<table style="width:50%" border="2">
  <tr>
    <th>NAME</th>
    <th>AGE</th> 
    <th>CITY</th>
  </tr>
  <tr>
    <td>Tom</td>
    <td>10</td>
    <td>London</td>
  </tr>
  <tr>
    <td>Jerry</td>
    <td>8</td>
    <td>London</td>
  </tr>
  <tr>
    <td>Bruno</td>
    <td>12</td>
    <td>Wells</td>
  </tr>
</table>
</body>
</html>

Explanation:

In the above example, a table is created with three header cells namely, “NAME,” “AGE”, and “CITY”. Here, the width of the table is also defined to be 50%. A border is added to the table of size 2 pixels using the border attribute of the HTML table.

Example 2: Using the CSS border property.

<!DOCTYPE html>
<html>
<head>
<style>
table, th, td {
  border: 2px solid black;
}
</style>
</head>
<body>
<h3>Students Table</h3>
<table style="width:50%">
  <tr>
    <th>NAME</th>
    <th>AGE</th> 
    <th>CITY</th>
  </tr>
  <tr>
    <td>Tom</td>
    <td>10</td>
    <td>London</td>
  </tr>
  <tr>
    <td>Jerry</td>
    <td>8</td>
    <td>London</td>
  </tr>
  <tr>
    <td>Bruno</td>
    <td>12</td>
    <td>Wells</td>
  </tr>
</table>
</body>
</html>

Explanation:

In the above example, a table is created with three header cells namely, “NAME,” “AGE”, and “CITY”. Here, the width of the table is also defined to be 50%. A 2px solid black border is also added to the table using the CSS border property.

Styling HTML tables: Even and Odd cells:

Example:

<!DOCTYPE html>
<html>
<head>
<style>
table {
  width:100%;
}
table, th, td {
  border: 1px solid black;
}
th, td {
  padding: 10px;
}
table#t1 tr:nth-child(even) {
  background-color: crimson;
  color: white;
}
table#t1 tr:nth-child(odd) {
 background-color: wheat;
}
table#t1 th {
  background-color: black;
  color: white;
}
</style>
</head>
<body>
<h3>Students Table</h3>
<table id="t1">
  <tr>
     <th>NAME</th>
    <th>AGE</th> 
    <th>CITY</th>
  </tr>
  <tr>
    <td>Tom</td>
    <td>10</td>
    <td>London</td>
  </tr>
  <tr>
    <td>Jerry</td>
    <td>8</td>
    <td>London</td>
  </tr>
  <tr>
    <td>Bruno</td>
    <td>12</td>
    <td>Wells</td>
  </tr>
</table>
</body>
</html>

Explanation:

In the above example, a table is created with three header cells namely, “NAME,” “AGE”, and “CITY”. Here, the width of the table is also defined to be 100%. 1px solid black border is also added to the table using the CSS border property. A padding is then added of size 10px for each cell in the table. In this example, we are adding a special style to the table with the id “t1”. A crimson background color and a white text color is added to the even rows, while a wheat background color is added to the odd rows. Again the style is differently defined for the header row with a black background color and a white text color.