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.