Bootstrap 5
Bootstrap 5 cheat sheet covering grid system, utility classes, components, JavaScript plugins, and responsive design with code examples.
Getting Started
Installation and setup for Bootstrap 5
Different ways to include Bootstrap in your project
<!-- CDN (Quick Start) -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
<!-- NPM Installation -->
npm install bootstrap
// Import in JavaScript
import 'bootstrap/dist/css/bootstrap.min.css'
import 'bootstrap/dist/js/bootstrap.bundle.min.js'Starter template with Bootstrap 5
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<title>Bootstrap 5 Template</title>
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container">
<h1>Hello, Bootstrap!</h1>
</div>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>Layout & Grid
Bootstrap grid system and layout utilities
12-column responsive grid layout
<!-- Basic Grid -->
<div class="container">
<div class="row">
<div class="col-md-4">Column 1</div>
<div class="col-md-4">Column 2</div>
<div class="col-md-4">Column 3</div>
</div>
</div>
<!-- Responsive Columns -->
<div class="row">
<div class="col-12 col-md-6 col-lg-4">Responsive</div>
<div class="col-12 col-md-6 col-lg-4">Columns</div>
<div class="col-12 col-md-12 col-lg-4">Example</div>
</div>Flexbox layout utilities
<!-- Display Flex -->
<div class="d-flex">Flexbox container</div>
<div class="d-inline-flex">Inline flexbox</div>
<!-- Direction -->
<div class="d-flex flex-row">Horizontal (default)</div>
<div class="d-flex flex-column">Vertical</div>
<div class="d-flex flex-row-reverse">Horizontal reversed</div>
<div class="d-flex flex-column-reverse">Vertical reversed</div>
<!-- Justify Content -->
<div class="d-flex justify-content-start">Left</div>
<div class="d-flex justify-content-center">Center</div>
<div class="d-flex justify-content-end">Right</div>
<div class="d-flex justify-content-between">Space between</div>
<div class="d-flex justify-content-around">Space around</div>
<div class="d-flex justify-content-evenly">Space evenly</div>Typography
Text utilities and typography classes
Typography heading styles
<!-- Headings -->
<h1>h1. Bootstrap heading</h1>
<h2>h2. Bootstrap heading</h2>
<h3>h3. Bootstrap heading</h3>
<h4>h4. Bootstrap heading</h4>
<h5>h5. Bootstrap heading</h5>
<h6>h6. Bootstrap heading</h6>
<!-- Heading Classes -->
<p class="h1">h1 styling on paragraph</p>
<p class="h2">h2 styling on paragraph</p>
<!-- Display Headings -->
<h1 class="display-1">Display 1</h1>
<h1 class="display-2">Display 2</h1>
<h1 class="display-3">Display 3</h1>
<h1 class="display-4">Display 4</h1>
<h1 class="display-5">Display 5</h1>
<h1 class="display-6">Display 6</h1>Text alignment, transformation, and styling
<!-- Text Alignment -->
<p class="text-start">Start aligned text</p>
<p class="text-center">Center aligned text</p>
<p class="text-end">End aligned text</p>
<!-- Text Transform -->
<p class="text-lowercase">LOWERCASED TEXT</p>
<p class="text-uppercase">uppercased text</p>
<p class="text-capitalize">capitalized text</p>
<!-- Font Weight & Style -->
<p class="fw-bold">Bold text</p>
<p class="fw-normal">Normal weight</p>
<p class="fw-light">Light weight</p>
<p class="fst-italic">Italic text</p>
<p class="fst-normal">Normal style</p>Colors & Backgrounds
Color system and background utilities
Bootstrap color palette and utilities
<!-- Text Colors -->
<p class="text-primary">Primary</p>
<p class="text-secondary">Secondary</p>
<p class="text-success">Success</p>
<p class="text-danger">Danger</p>
<p class="text-warning">Warning</p>
<p class="text-info">Info</p>
<!-- Background Colors -->
<div class="bg-primary text-white">Primary background</div>
<div class="bg-secondary text-white">Secondary</div>
<div class="bg-success text-white">Success</div>
<div class="bg-danger text-white">Danger</div>
<div class="bg-warning">Warning</div>
<div class="bg-info">Info</div>Spacing
Margin and padding utilities
Margin and padding classes
<!-- Padding -->
<div class="p-0">No padding</div>
<div class="p-1">Padding 1 (0.25rem)</div>
<div class="p-2">Padding 2 (0.5rem)</div>
<div class="p-3">Padding 3 (1rem)</div>
<div class="p-4">Padding 4 (1.5rem)</div>
<div class="p-5">Padding 5 (3rem)</div>
<!-- Margin -->
<div class="m-0">No margin</div>
<div class="m-1">Margin 1</div>
<div class="m-2">Margin 2</div>
<div class="m-auto">Auto margin</div>Components
Core Bootstrap components
Button styles and variations
<!-- Button Styles -->
<button class="btn btn-primary">Primary</button>
<button class="btn btn-secondary">Secondary</button>
<button class="btn btn-success">Success</button>
<button class="btn btn-danger">Danger</button>
<button class="btn btn-warning">Warning</button>
<button class="btn btn-info">Info</button>
<!-- Button Sizes -->
<button class="btn btn-primary btn-lg">Large</button>
<button class="btn btn-primary">Default</button>
<button class="btn btn-primary btn-sm">Small</button>Card component for content containers
<!-- Basic Card -->
<div class="card">
<img src="..." class="card-img-top" alt="...">
<div class="card-body">
<h5 class="card-title">Card title</h5>
<p class="card-text">Card content</p>
<a href="#" class="btn btn-primary">Go somewhere</a>
</div>
</div>
<!-- Card with Header/Footer -->
<div class="card">
<div class="card-header">Header</div>
<div class="card-body">
<h5 class="card-title">Title</h5>
<p class="card-text">Content</p>
</div>
<div class="card-footer">Footer</div>
</div>Form controls and layouts
<!-- Basic Form -->
<form>
<div class="mb-3">
<label for="email" class="form-label">Email</label>
<input type="email" class="form-control" id="email">
</div>
<div class="mb-3">
<label for="password" class="form-label">Password</label>
<input type="password" class="form-control" id="password">
</div>
<button type="submit" class="btn btn-primary">Submit</button>
</form>
<!-- Form Grid -->
<form class="row g-3">
<div class="col-md-6">
<label class="form-label">First Name</label>
<input type="text" class="form-control">
</div>
<div class="col-md-6">
<label class="form-label">Last Name</label>
<input type="text" class="form-control">
</div>
</form>Navigation components
<!-- Basic Navbar -->
<nav class="navbar navbar-expand-lg bg-light">
<div class="container">
<a class="navbar-brand" href="#">Brand</a>
<button class="navbar-toggler" type="button" data-bs-toggle="collapse" data-bs-target="#navbarNav">
<span class="navbar-toggler-icon"></span>
</button>
<div class="collapse navbar-collapse" id="navbarNav">
<ul class="navbar-nav ms-auto">
<li class="nav-item">
<a class="nav-link active" href="#">Home</a>
</li>
<li class="nav-item">
<a class="nav-link" href="#">About</a>
</li>
</ul>
</div>
</div>
</nav>Utilities
Utility classes for common patterns
Display and position utilities
<!-- Display -->
<div class="d-none">Hidden</div>
<div class="d-block">Block</div>
<div class="d-inline">Inline</div>
<div class="d-inline-block">Inline block</div>
<div class="d-flex">Flex</div>
<div class="d-grid">Grid</div>
<!-- Position -->
<div class="position-static">Static</div>
<div class="position-relative">Relative</div>
<div class="position-absolute">Absolute</div>
<div class="position-fixed">Fixed</div>
<div class="position-sticky">Sticky</div>Border and shadow utilities
<!-- Borders -->
<div class="border">All borders</div>
<div class="border-top">Top border</div>
<div class="border-end">End border</div>
<div class="border-bottom">Bottom border</div>
<div class="border-start">Start border</div>
<!-- Border Colors -->
<div class="border border-primary">Primary</div>
<div class="border border-danger">Danger</div>
<!-- Border Width -->
<div class="border border-1">1px</div>
<div class="border border-2">2px</div>
<div class="border border-3">3px</div>
<!-- Rounded Corners -->
<div class="rounded">Rounded</div>
<div class="rounded-circle">Circle</div>
<div class="rounded-pill">Pill</div>
<div class="rounded-0">No rounding</div>JavaScript Components
Interactive Bootstrap components
Modal dialogs
<!-- Modal Trigger Button -->
<button type="button" class="btn btn-primary" data-bs-toggle="modal" data-bs-target="#exampleModal">
Launch modal
</button>
<!-- Modal Structure -->
<div class="modal fade" id="exampleModal" tabindex="-1">
<div class="modal-dialog">
<div class="modal-content">
<div class="modal-header">
<h5 class="modal-title">Modal title</h5>
<button type="button" class="btn-close" data-bs-dismiss="modal"></button>
</div>
<div class="modal-body">
Modal body text
</div>
<div class="modal-footer">
<button type="button" class="btn btn-secondary" data-bs-dismiss="modal">Close</button>
<button type="button" class="btn btn-primary">Save</button>
</div>
</div>
</div>
</div>Tooltips and popover components
<!-- Tooltip -->
<button type="button" class="btn btn-secondary"
data-bs-toggle="tooltip"
data-bs-placement="top"
title="Tooltip text">
Hover for tooltip
</button>
<!-- Popover -->
<button type="button" class="btn btn-danger"
data-bs-toggle="popover"
title="Popover title"
data-bs-content="Popover content">
Click for popover
</button>
<!-- Initialize in JavaScript -->
<script>
// Enable all tooltips
const tooltips = document.querySelectorAll('[data-bs-toggle="tooltip"]')
tooltips.forEach(el => new bootstrap.Tooltip(el))
// Enable all popovers
const popovers = document.querySelectorAll('[data-bs-toggle="popover"]')
popovers.forEach(el => new bootstrap.Popover(el))
</script>Alert messages and toast notifications
<!-- Basic Alert -->
<div class="alert alert-primary" role="alert">
A simple primary alert
</div>
<!-- Dismissible Alert -->
<div class="alert alert-warning alert-dismissible fade show" role="alert">
<strong>Warning!</strong> This alert is dismissible.
<button type="button" class="btn-close" data-bs-dismiss="alert"></button>
</div>
<!-- Toast -->
<div class="toast" role="alert">
<div class="toast-header">
<strong class="me-auto">Bootstrap</strong>
<button type="button" class="btn-close" data-bs-dismiss="toast"></button>
</div>
<div class="toast-body">
Toast message content
</div>
</div>Responsive Utilities
Responsive design utilities
Responsive breakpoint system
<!-- Breakpoint Classes -->
<!--
xs: <576px (default, no suffix)
sm: ≥576px
md: ≥768px
lg: ≥992px
xl: ≥1200px
xxl: ≥1400px
-->
<!-- Responsive Columns -->
<div class="col-12 col-sm-6 col-md-4 col-lg-3">
Responsive column
</div>
<!-- Responsive Display -->
<div class="d-none d-md-block">
Hidden on mobile, visible on desktop
</div>Helpers & Misc
Helper classes and miscellaneous utilities
Utility helper classes
<!-- Ratios -->
<div class="ratio ratio-1x1">1:1</div>
<div class="ratio ratio-4x3">4:3</div>
<div class="ratio ratio-16x9">16:9</div>
<div class="ratio ratio-21x9">21:9</div>
<!-- Stretched Link -->
<div class="card">
<div class="card-body">
<h5 class="card-title">
<a href="#" class="stretched-link">Card link</a>
</h5>
<p class="card-text">Entire card is clickable</p>
</div>
</div>
<!-- Text Truncation -->
<div class="text-truncate" style="width: 150px;">
This text will truncate with ellipsis
</div>