Bootstrap 5 Tutorial

v5.3.0

Bootstrap 5 Tutorial

Gutters in Bootstrap 5

Gutters: The padding between columns that creates consistent spacing in your grid layouts.

What are Gutters?

Gutters are the gaps between columns that provide breathing room and visual separation. Bootstrap provides flexible gutter utilities to control spacing.

Without Gutters
Column 1
Column 2

Columns touch each other - no spacing.

With Gutters
Column 1
Column 2

Columns have consistent spacing between them.

Gutter Classes

Gutter Size Options
ClassSizeHorizontal GapVertical GapUse Case
g-0No gutters0px0pxFull-bleed designs
g-1Extra Small0.25rem (4px)0.25rem (4px)Tight layouts
g-2Small0.5rem (8px)0.5rem (8px)Default spacing
g-3Medium1rem (16px)1rem (16px)Standard spacing
g-4Large1.5rem (24px)1.5rem (24px)Prominent separation
g-5Extra Large3rem (48px)3rem (48px)Hero sections
Visual Comparison
g-0
Column
Column
g-1
Column
Column
g-2
Column
Column
g-3
Column
Column
g-4
Column
Column
g-5
Column
Column

Horizontal vs Vertical Gutters

Directional Gutter Control
Horizontal Gutters Only (gx-*)
Column 1
Column 2
Column 3
Column 4
<div class="row gx-4">
            <!-- Horizontal spacing between columns -->
            <!-- No vertical spacing between rows -->
            </div>
Vertical Gutters Only (gy-*)
Row 1
Row 2
Row 3
<div class="row gy-4">
            <!-- Vertical spacing between rows -->
            <!-- No horizontal spacing between columns -->
            </div>
Tip: Use gx-* for horizontal spacing and gy-* for vertical spacing. Combine them for different spacing in each direction.

Responsive Gutters

Breakpoint-based Gutter Sizes
Different Gutter Sizes on Different Screens
g-2 on mobile
g-3 on tablet
g-4 on desktop
Same responsive gutters
More space on larger screens
<div class="row g-2 g-md-3 g-lg-4">
            <!-- 
                Small gutters on mobile (g-2)
                Medium gutters on tablet (g-md-3)
                Large gutters on desktop (g-lg-4)
            -->
            </div>
Screen SizeClass AppliedGutter SizeVisual Effect
Mobile (<768px)g-20.5rem (8px)Tighter spacing
Tablet (≥768px)g-md-31rem (16px)Standard spacing
Desktop (≥992px)g-lg-41.5rem (24px)More breathing room

Gutter Removal (g-0)

When to Remove Gutters
Full-Width Image Grid
Image 1
Image 2
Image 3
<!-- Image gallery without gaps -->
            <div class="row g-0">
            <div class="col-4">
                <img src="image1.jpg" class="img-fluid" alt="">
            </div>
            <!-- More images... -->
            </div>
Data Table Layout
Header 1
Header 2
Header 3
Data 1
Data 2
Data 3
Note: When using g-0, you may need to add borders or other visual separators since there's no spacing between elements.

Nested Grid Gutters

Managing Gutters in Nested Grids
Parent with Gutters, Child with Different Gutters
Parent Column
Nested (g-1)
Nested (g-1)
Simple Column
<div class="row g-3"> <!-- Parent gutters -->
            <div class="col-6">
                <div class="row g-1"> <!-- Child gutters -->
                <div class="col-6">Nested</div>
                <div class="col-6">Nested</div>
                </div>
            </div>
            <div class="col-6">Simple</div>
            </div>
Best Practice: Use smaller gutter sizes in nested grids to maintain visual hierarchy and prevent excessive spacing.

Gutter Best Practices

Choosing the Right Gutter Size
  • Content density: Dense content → smaller gutters
  • Visual hierarchy: More important content → more space
  • Readability: Text content needs adequate spacing
  • Responsive design: Adjust gutters for different screen sizes
Common Gutter Patterns
  • g-3 - Default for most layouts
  • g-4 - Hero sections, feature highlights
  • g-2 - Dashboards, data-heavy interfaces
  • g-0 - Image galleries, full-bleed designs
  • gx-3 gy-2 - Different horizontal/vertical spacing
Common Gutter Mistakes
  • ❌ Forgetting to add gutter classes
  • ❌ Using inconsistent gutter sizes
  • ❌ Not adjusting gutters for mobile
  • ❌ Overusing g-0 making content feel cramped
  • ❌ Using g-5 in dense layouts

Practical Examples

Example 1: Card Grid
Card 1

Equal spacing around cards

Card 2

Consistent gutters

Card 3

Professional spacing

<div class="row g-3">
            <div class="col-md-4">
                <div class="card">...</div>
            </div>
            <!-- More cards... -->
            </div>
Example 2: Form Layout
First Name
Last Name
Email Address
<div class="row g-2">
            <div class="col-md-6">
                <input type="text" class="form-control">
            </div>
            <div class="col-md-6">
                <input type="text" class="form-control">
            </div>
            </div>

Gutter Customization

Custom Gutter Sizes (SCSS)

You can customize gutter sizes in your SCSS variables:

// Custom gutter sizes
            $grid-gutter-width: 2rem; // Default: 1.5rem

            // Custom gutter map
            $spacers: (
            0: 0,
            1: $spacer * .25,
            2: $spacer * .5,
            3: $spacer,
            4: $spacer * 1.5,
            5: $spacer * 3,
            6: $spacer * 4, // Custom larger size
            7: $spacer * 5  // Custom extra large
            );

            // Generate custom gutter classes
            @import "bootstrap/scss/bootstrap";
Note: Custom gutter sizes require compiling Bootstrap from SCSS source files.