BS5 Tables
Bootstrap 5 offers predefined classes for creating elegant, responsive tables. Learn how to style tables, add striped rows, hover effects, and more.
Key Topics
Basic Table Structure
The core Bootstrap class .table adds base styling. Rows and cells remain standard HTML <tr> and <td> tags.
<table class="table">
<thead>
<tr>
<th>#</th>
<th>First</th>
<th>Last</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>John</td>
<td>Doe</td>
</tr>
<tr>
<td>2</td>
<td>Jane</td>
<td>Smith</td>
</tr>
</tbody>
</table>
Explanation: The .table class applies padding, border collapse, and horizontal lines. Use <thead> and <tbody> to structure header vs. body content.
Table Variants
Bootstrap provides additional styles like .table-striped, .table-hover, and .table-bordered for different use cases.
<table class="table table-striped table-hover table-bordered">
<!-- Table content -->
</table>
Explanation: You can combine these modifiers to achieve striped rows (.table-striped), row hover states (.table-hover), and borders (.table-bordered) in a single table.
Complete Table Example
Below is a full HTML page demonstrating a responsive table with Bootstrap classes.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Bootstrap 5 Table Demo</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container my-4">
<h2>User Data</h2>
<div class="table-responsive">
<table class="table table-striped table-hover table-bordered">
<thead class="table-dark">
<tr>
<th scope="col">#</th>
<th scope="col">First Name</th>
<th scope="col">Last Name</th>
<th scope="col">Email</th>
</tr>
</thead>
<tbody>
<tr>
<td>1</td>
<td>John</td>
<td>Doe</td>
<td>john@example.com</td>
</tr>
<tr>
<td>2</td>
<td>Jane</td>
<td>Smith</td>
<td>jane@example.org</td>
</tr>
</tbody>
</table>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
Explanation: The .table-responsive wrapper ensures horizontal scrolling on smaller screens. Combining .table-striped, .table-hover, and .table-bordered offers a polished look.
Key Takeaways
.tableprovides default styles for tabular data.- Variants like
.table-stripedand.table-hoverenhance readability and interactivity. - Use
.table-responsiveto handle tables on smaller devices.