HTML <table> Tag

The <table> tag defines an HTML table. It contains other HTML elements that determine the structure of the table.

The <tr> tag determines table rows. A row can have one or more <td> or <th> elements, which define a table cell and a table header respectively.

The <th> tag is placed in the first row of the table. The text in it is bold and centered by default.

The <th> tag is not a mandatory element in the table, but we recommend to use it, as it helps to have better table layout as well as helps search engines better index the content of the table.

A more complex table can also include <caption>, <thead>, <tbody>, <tfoot>, or <colgroup> elements.

It’s recommended not to use tables for page layout. Sometimes tables are misused in HTML for controlling a page layout. For that, you can use CSS as an alternative to HTML tables.

Syntax

The <table> tag comes in pairs. The content is written between the opening (<table>) and closing (</table>) tags.

Example of the HTML <table> tag:

<!DOCTYPE html>
<html>
  <head>
    <title>Title of the document</title>
    <style>
      table {
        width: 80%;
        margin: 30px auto;
        border-collapse: collapse;
      }
      th,
      td {
        padding: 10px;
        border: 1px solid #666;
      }
    </style>
  </head>
  <body>
    <table>
      <tr>
        <th>Month</th>
        <th>Date</th>
      </tr>
      <tr>
        <td>June</td>
        <td>10.06.2018</td>
      </tr>
      <tr>
        <td>July</td>
        <td>15.07.2018</td>
      </tr>
    </table>
  </body>
</html>

Result

table example

Attributes

The attributes of the <table> tag are not supported in HTML5. For styling tables use CSS properties listed below.
Attribute Value Description CSS property
align left
center
right
Defines how the table must be aligned according to the surrounding text.
Not supported in HTML5.
margin
bgcolor rgb(x,x,x)
#xxxxxx
colorname
Defines the background color for a table.
Not supported in HTML5.
background-color
border 1
0
Defines the size of the frame surrounding the table.
Not supported in HTML5.
border
cellpadding pixels Defines the space between the cell wall and the cell content.
Not supported in HTML5.
border-collapse
cellspacing pixels Defines the space between cells.
Not supported in HTML5.
border-spacing
frame void
above
below
hsides
lhs
rhs
vsides
box
border
Defines which side of the frame surrounding the table must be displayed.
Not supported in HTML5.
border-style
border-width
rules none
groups
rows
cols
all
Defines which parts of inside borders should be visible.
Not supported in HTML5.
border
(Use this property correspondingly with
thead,
tbody,
tfoot,
col or colgroup HTML tags).
summary text Defines the summary for the content of a table.
Not supported in HTML5.
caption-side
width pixels
Defines the width of a table.
Not supported in HTML5.
width

The <table> also supports the Global Attributes and the Event Attributes.

How to style <table> tag?

Common properties to alter the visual weight/emphasis/size of text in <table> tag:

  • CSS font-style property sets the style of the font. normal | italic | oblique | initial | inherit.
  • CSS font-family property specifies a prioritized list of one or more font family names and/or generic family names for the selected element.
  • CSS font-size property sets the size of the font.
  • CSS font-weight property defines whether the font should be bold or thick.
  • CSS text-transform property controls text case and capitalization.
  • CSS text-decoration property specifies the decoration added to text, and is a shorthand property for text-decoration-line, text-decoration-color, text-decoration-style.

Coloring text in <table> tag:

  • CSS color property describes the color of the text content and text decorations.
  • CSS background-color property sets the background color of an element.

Text layout styles for <table> tag:

  • CSS text-indent property specifies the indentation of the first line in a text block.
  • CSS text-overflow property specifies how overflowed content that is not displayed should be signalled to the user.
  • CSS white-space property specifies how white-space inside an element is handled.
  • CSS word-break property specifies where the lines should be broken.

Other properties worth looking at for <table> tag:

Browser support

chrome edge firefox safari opera

Practice Your Knowledge

What are the uses of the <table>, <tr>, <td>, and <th> tags in HTML?

Quiz Time: Test Your Skills!

Ready to challenge what you've learned? Dive into our interactive quizzes for a deeper understanding and a fun way to reinforce your knowledge.