BS5 Grid System
The Bootstrap 5 Grid System is a responsive layout system that uses a series of containers, rows, and columns to align and organize content effectively. The grid system is based on a 12-column layout and offers support for different screen sizes.
Key Topics
Basic Grid Structure
The grid system uses containers, rows, and columns to structure the layout. The .container
class provides a responsive fixed-width container, while .row
and .col
create rows and columns respectively.
<div class="container">
<div class="row">
<div class="col">Column 1</div>
<div class="col">Column 2</div>
<div class="col">Column 3</div>
</div>
</div>
Explanation: Each .col
element inside a .row
takes up equal space by default, creating a responsive grid.
Responsive Columns
Define the number of columns to span for different screen sizes using classes like .col-sm-*
, .col-md-*
, and more.
<div class="container">
<div class="row">
<div class="col-sm-4">Small Screen 4 Columns</div>
<div class="col-md-6">Medium Screen 6 Columns</div>
<div class="col-lg-3">Large Screen 3 Columns</div>
</div>
</div>
Explanation: Combine classes like .col-sm-*
and .col-md-*
to create responsive column layouts for different screen sizes.
Nested Rows
Create nested grids by adding rows and columns inside an existing column.
<div class="container">
<div class="row">
<div class="col">
Parent Column
<div class="row">
<div class="col">Nested Column 1</div>
<div class="col">Nested Column 2</div>
</div>
</div>
</div>
</div>
Explanation: Nest additional rows and columns within a parent column to create complex layouts.
Complete Grid System Example
Below is a complete example demonstrating the Bootstrap grid system with containers, rows, and columns for various screen sizes.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Bootstrap 5 Grid System 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 class="text-center">Bootstrap Grid System</h2>
<div class="row mb-3">
<div class="col">Column 1</div>
<div class="col">Column 2</div>
<div class="col">Column 3</div>
</div>
<div class="row mb-3">
<div class="col-sm-4">Small 4 Columns</div>
<div class="col-md-6">Medium 6 Columns</div>
<div class="col-lg-3">Large 3 Columns</div>
</div>
<div class="row">
<div class="col">
Parent Column
<div class="row mt-2">
<div class="col">Nested Column 1</div>
<div class="col">Nested Column 2</div>
</div>
</div>
</div>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>
Explanation: This example demonstrates the flexibility of the Bootstrap grid system with basic columns, responsive layouts, and nested grids.
Key Takeaways
- Use
.container
,.row
, and.col
classes to create a grid layout. - Customize column spans for different screen sizes with responsive classes like
.col-sm-*
. - Nest rows and columns within a parent column for complex layouts.