- Understand what Bootstrap is and why it’s useful
- Include Bootstrap in your projects
- Use Bootstrap’s grid system
- Work with Bootstrap components (buttons, cards, navbar)
- Customize Bootstrap styling
- Build responsive websites quickly
BMC201 - Web Technology
2026-02-11
Lecture 11
Bootstrap Framework
Week 3 | Unit II: CSS Styling & JavaScript
BMC201 - Web Technology
Mr. Prashant Kumar Nag, Assistant Professor
Learning Objectives
Bootstrap: The Web Framework
Bootstrap is a CSS framework for building responsive websites
Analogy: If CSS is LEGO blocks, Bootstrap gives you pre-made LEGO structures
Benefits of Bootstrap
Saves Time
Professional Results
Easy to Learn
Customizable
How to Include Bootstrap
Add to your HTML <head>:
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Bootstrap JS (at end of body) -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>Complete template:
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<title>My Site</title>
</head>
<body>
<!-- Content here -->
</body>
</html>Bootstrap Grid System
Organize content in 12 columns:
<div class="container">
<div class="row">
<div class="col-6">Left (6 columns)</div>
<div class="col-6">Right (6 columns)</div>
</div>
</div>What it means: - container: Fixed-width wrapper - row: Horizontal grouping - col-*: Column size (1-12)
Responsive Grid Breakpoints
Change layout based on screen size:
<div class="row">
<!-- 12 cols on mobile, 6 on tablet, 4 on desktop -->
<div class="col-12 col-md-6 col-lg-4">Content</div>
</div>Breakpoints: - col-*: Extra small (< 576px) - col-sm-*: Small (≥ 576px) - col-md-*: Medium (≥ 768px) - col-lg-*: Large (≥ 992px) - col-xl-*: Extra large (≥ 1200px)
Bootstrap Button Component
Pre-styled buttons with classes:
<button class="btn btn-primary">Primary</button>
<button class="btn btn-secondary">Secondary</button>
<button class="btn btn-danger">Delete</button>
<button class="btn btn-success">Save</button>
<button class="btn btn-outline-primary">Outline</button>Button sizes:
Bootstrap Card Component
Flexible content container:
Bootstrap Navbar Component
Professional navigation bar:
<nav class="navbar navbar-expand-lg navbar-dark bg-dark">
<div class="container">
<a class="navbar-brand" href="#">MyBrand</a>
<button class="navbar-toggler" type="button">Menu</button>
<div class="navbar-collapse">
<ul class="navbar-nav ms-auto">
<li class="nav-item"><a class="nav-link" href="#">Home</a></li>
<li class="nav-item"><a class="nav-link" href="#">About</a></li>
</ul>
</div>
</div>
</nav>Automatically becomes mobile hamburger menu!
Alert Component
Display messages to users:
<div class="alert alert-success">Success message</div>
<div class="alert alert-danger">Danger message</div>
<div class="alert alert-warning">Warning message</div>
<div class="alert alert-info">Information</div>With close button:
Bootstrap Form Styling
Beautifully styled form inputs:
Complete Bootstrap Page Example
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1">
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/css/bootstrap.min.css" rel="stylesheet">
<title>Portfolio</title>
</head>
<body>
<!-- Navbar -->
<nav class="navbar navbar-dark bg-dark">
<div class="container">
<a class="navbar-brand">My Portfolio</a>
</div>
</nav>
<!-- Main Content -->
<main class="container my-5">
<div class="row">
<div class="col-md-4">
<div class="card">
<img class="card-img-top" src="project.jpg">
<div class="card-body">
<h5 class="card-title">Project 1</h5>
<button class="btn btn-primary">View</button>
</div>
</div>
</div>
</div>
</main>
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.0/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>Resources & References
Questions?
Next: Lecture 12 - JavaScript Variables & Data Types