Tables
Basic table
Add the base class .table
to any <table>
, then extend with our optional modifier classes or custom styles. All table styles are not inherited in Bootstrap, meaning any nested tables can be styled independent from the parent.
# | Head | Head | Head |
---|---|---|---|
1 | Data | Data | Data |
2 | Data | Data | Data |
3 | Data | Data | Data |
Contextual colors
Use contextual classes to color tables, table rows or individual cells (e.q .table-primary
).
# | Head | Head | Head |
---|---|---|---|
1 | Data | Data | Data |
# | Head | Head | Head |
---|---|---|---|
1 | Data | Data | Data |
# | Head | Head | Head |
---|---|---|---|
1 | Data | Data | Data |
# | Head | Head | Head |
---|---|---|---|
1 | Data | Data | Data |
# | Head | Head | Head |
---|---|---|---|
1 | Data | Data | Data |
# | Head | Head | Head |
---|---|---|---|
1 | Data | Data | Data |
# | Head | Head | Head |
---|---|---|---|
1 | Data | Data | Data |
# | Head | Head | Head |
---|---|---|---|
1 | Data | Data | Data |
Hoverable & active
Add .table-hover
to enable a hover state on table rows within a <tbody>
.
These hoverable rows can also be combined with the striped variant:
# | Head | Head | Head |
---|---|---|---|
1 | Data | Data | Data |
2 | Data | Data | Data |
3 | Data | Data | Data |
Highlight a table row or cell by adding a .table-active
class.
Nesting
Border styles, active styles, and table variants are not inherited by nested tables.
# | Head | Head | Head | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Data | Data | Data | ||||||||||||
|
|||||||||||||||
3 | Data | Data | Data |
Header & footer
Use the modifier classes .table-{color}
to <thead>
.
# | Head | Head | Head |
---|---|---|---|
1 | Data | Data | Data |
2 | Data | Data | Data |
Foot | Foot | Foot | Foot |
Vertical alignment
Table cells of <thead>
are always vertical aligned to the bottom. Table cells in <tbody>
inherit their alignment from <table>
and are aligned to the the top by default.
Heading 1 | Heading 2 | Heading 3 | Heading 4 |
---|---|---|---|
This cell is aligned to the top. | This cell is aligned to the middle. | This cell is aligned to the bottom. | This here is some placeholder text, intended to take up quite a bit of vertical space, to demonstrate how the vertical alignment works in the preceding cells. |
Border variants
Add .table-bordered
for borders on all sides of the table and cells.
# | Head | Head | Head |
---|---|---|---|
1 | Data | Data | Data |
2 | Data | Data | Data |
3 | Long data | Data |
Add .table-borderless
for a table without borders.
# | Head | Head | Head |
---|---|---|---|
1 | Data | Data | Data |
2 | Data | Data | Data |
3 | Long data | Data |
Striped
Use .table-striped
to add zebra-striping to any table row within the <tbody>
.
# | Head | Head | Head |
---|---|---|---|
1 | Data | Data | Data |
2 | Data | Data | Data |
3 | Data | Data | Data |
Use .table-striped-columns
to add zebra-striping to any table column.
# | Head | Head | Head |
---|---|---|---|
1 | Data | Data | Data |
2 | Data | Data | Data |
3 | Data | Data | Data |
These classes can also be added to table variants:
# | Head | Head | Head |
---|---|---|---|
1 | Data | Data | Data |
2 | Data | Data | Data |
3 | Data | Data | Data |
# | Head | Head | Head |
---|---|---|---|
1 | Data | Data | Data |
2 | Data | Data | Data |
3 | Data | Data | Data |
Small table
Add .table-sm
to make any .table
more compact by cutting all cell padding
in half.
# | Head | Head | Head |
---|---|---|---|
1 | Data | Data | Data |
2 | Data | Data | Data |
3 | Long data | Data |
Table group dividers
Add a thicker border, darker between table groups—<thead>
, <tbody>
, and <tfoot>
—with .table-group-divider
. Customize the color by changing the border-top-color
(which we don’t currently provide a utility class for at this time).
# | Head | Head | Head |
---|---|---|---|
1 | Data | Data | Data |
2 | Data | Data | Data |
3 | Long data | Data |
Responsive table
Make your tables always responsive, use .table-responsive
for horizontally scrolling tables.
Use .table-responsive{-sm|-md|-lg|-xl|-xxl}
as needed to create responsive tables up to a particular breakpoint. From that breakpoint and up, the table will behave normally and not scroll horizontally.
# | Head | Head | Head | Head | Head | Head | Head | Head | Head | Head | Head | Head |
---|---|---|---|---|---|---|---|---|---|---|---|---|
1 | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data |
2 | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data |
3 | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data | Data |
Captions
A <caption>
functions like a heading for a table. It helps users with screen readers to find a table and understand what it’s about and decide if they want to read it.
# | Head | Head | Head |
---|---|---|---|
1 | Data | Data | Data |
You can also put the <caption>
on the top of the table with .caption-top
.