Browse CSS
Tables
Make information easy to compare. Use clear headings, consistent alignment, and readable spacing on desktop and mobile.
Start with a semantic table
| Project | Status | Owner |
|---|---|---|
| Brand direction | In progress | Design team |
| Website refresh | In review | Web team |
| Component library | Planning | Engineering |
<div class="table-scroll" tabindex="0" role="region" aria-label="Project table">
<table>
<caption>
Current projects
</caption>
<thead>
<tr>
<th scope="col">
Project
</th>
<th scope="col">
Status
</th>
<th scope="col">
Owner
</th>
</tr>
</thead>
<tbody>
<tr>
<th scope="row">
Brand direction
</th>
<td>
In progress
</td>
<td>
Design team
</td>
</tr>
<tr>
<th scope="row">
Website refresh
</th>
<td>
In review
</td>
<td>
Web team
</td>
</tr>
<tr>
<th scope="row">
Component library
</th>
<td>
Planning
</td>
<td>
Engineering
</td>
</tr>
</tbody>
</table>
</div>
Add complexity when it earns its place
Sorting, pagination, selection, and virtualization are not part of this foundation yet. Keep small datasets native; introduce those behaviors when a real use case and measured performance justify them.