# Tables
Provides a set of styles for native HTML table elements.
```html
---
const tableData = [
{ position: '0', name: 'Iron', symbol: 'Fe', atomic_no: '26' },
{ position: '1', name: 'Rhodium', symbol: 'Rh', atomic_no: '45' },
{ position: '2', name: 'Iodine', symbol: 'I', atomic_no: '53' },
{ position: '3', name: 'Radon', symbol: 'Rn', atomic_no: '86' },
{ position: '4', name: 'Technetium', symbol: 'Tc', atomic_no: '43' },
];
---
{
tableData.map((row) => (
{row.position} |
{row.symbol} |
{row.name} |
{row.atomic_no} |
))
}
```
## Extras
Optionally add a header, footer, and caption.
```html
---
const tableData = [
{ position: '0', name: 'Iron', symbol: 'Fe', atomic_no: '26' },
{ position: '1', name: 'Rhodium', symbol: 'Rh', atomic_no: '45' },
{ position: '2', name: 'Iodine', symbol: 'I', atomic_no: '53' },
{ position: '3', name: 'Radon', symbol: 'Rn', atomic_no: '86' },
{ position: '4', name: 'Technetium', symbol: 'Tc', atomic_no: '43' },
];
---
A list of elements from the periodic table.
Position |
Symbol |
Name |
Weight |
{
tableData.map((row) => (
{row.position} |
{row.symbol} |
{row.name} |
{row.atomic_no} |
))
}
Total |
{tableData.length} Elements |
```
## Navigation
Native HTML tables do not support interaction. For accessibility, use anchors or buttons within the last cell.
```html
---
const tableData = [
{ first: 'Liam', last: 'Steele', email: 'liam@email.com' },
{ first: 'Athena', last: 'Marks', email: 'athena@email.com' },
{ first: 'Angela', last: 'Rivers', email: 'angela@email.com' },
];
---
First Name |
Last Name |
Email |
|
{
tableData.map((row) => (
{row.first} |
{row.last} |
{row.email} |
View →
|
))
}
```
## Layout
See [Tailwind's utility classes](https://tailwindcss.com/docs/table-layout) for adjusting the table layout algorithm. Apply this to the Table element.
## Hover Rows
Add a visual hover effect using the following Tailwind syntax.
```html
...
```
## Pagination
Pair with the Skeleton [Pagination](/docs/components/pagination/react) component for large data sets.