CSS Tables
HTML tables can be greatly improved with CSS:
Company | Contact | Country |
---|---|---|
Alfreds Futterkiste | Maria Anders | Germany |
Berglunds snabbköp | Christina Berglund | Sweden |
Centro comercial Moctezuma | Francisco Chang | Mexico |
Ernst Handel | Roland Mendel | Austria |
Island Trading | Helen Bennett | UK |
Königlich Essen | Philip Cramer | Germany |
Laughing Bacchus Winecellars | Yoshi Tannamuri | Canada |
Magazzini Alimentari Riuniti | Giovanni Rovelli | Italy |
CSS Table Borders
The CSS
border
property is used to specify
the width, style, and color of table borders.
The
border
property is a shorthand property for:
-
border-width
- sets the width of the border -
border-style
- sets the style of the border (required) -
border-color
- sets the color of the border
The example below specifies a 1px solid border for <table>, <th>, and <td> elements:
Firstname | Lastname |
---|---|
Peter | Griffin |
Lois | Griffin |
CSS Table Border Color
The example below specifies a 1px solid green border for <table>, <th>, and <td> elements:
Firstname | Lastname |
---|---|
Peter | Griffin |
Lois | Griffin |
Why Double Borders?
Notice that the tables in the examples above have double borders. This is because both the <table>, <th>, and <td> elements have separate borders.
To remove double borders, take a look at the example below.
CSS Collapse Table Borders
The CSS border-collapse
property
sets whether table borders should collapse into a single border or be separated
as in standard HTML.
This property can have one of the following values:
separate
- Default value. Borders are separated; each cell will display its own borderscollapse
- Borders are collapsed into a single border when possible
The following table has collapsed borders:
Firstname | Lastname |
---|---|
Peter | Griffin |
Lois | Griffin |
CSS Table Padding
To control the space between the border and the content in a table, use the
padding
property on
<td> and <th> elements:
First Name | Last Name | Savings |
---|---|---|
Peter | Griffin | $100 |
Lois | Griffin | $150 |
Joe | Swanson | $300 |
CSS Border Spacing
The CSS
border-spacing
property
sets the distance between the borders of adjacent cells.
Note: This property works only when border-collapse
is set to "separate".
The following table has a border-spacing of 15px:
Firstname | Lastname |
---|---|
Peter | Griffin |
Lois | Griffin |
Example
Using the border-spacing property:
table
{
border-collapse: separate;
border-spacing: 15px;
}
Try it Yourself »
CSS Outside Table Borders
If you just want a border around the table (not inside), you specify the
border
property only for the
<table> element:
Firstname | Lastname |
---|---|
Peter | Griffin |
Lois | Griffin |