- Course: Deep Learning with Full Stack Deployment
- Module: Full Stack Basics
- Chapter: Basics of HTML-CSS
This repository contains step-by-step code examples for building a professional portfolio website using HTML, CSS, and Bootstrap 5. Each part progressively builds upon the previous one, allowing you to learn at your own pace.
By completing this chapter, you will learn:
| Concept | Description |
|---|---|
| HTML Anatomy | Understanding <head> (metadata) vs <body> (content) |
| Bootstrap Setup | Adding Bootstrap via CDN |
| Responsive Layouts | Using containers and grid system |
| Images | Embedding and styling images with <img> |
| Tables | Structuring data with <table> |
| Lists | Creating ordered <ol> and unordered <ul> lists |
| Bootstrap Classes | Using utility classes like text-center, p-5, bg-light |
| Bootstrap Templates | Using and customizing pre-built templates from Start Bootstrap |
| Dashboard Components | Working with cards, charts, sidebars, and navigation bars |
HTML-CSS/
├── README.md # This file
├── assets/ # Images and other assets
│ └── profile-placeholder.txt # Placeholder for profile image
│
├── part-1-html-skeleton/ # Basic HTML structure
│ └── index.html
│
├── part-2-bootstrap-setup/ # Adding Bootstrap CDN
│ └── index.html
│
├── part-3-profile-image/ # Adding profile image
│ └── index.html
│
├── part-4-education-table/ # Adding education table & lists
│ └── index.html
│
├── part-5-bootstrap-styling/ # Applying Bootstrap utility classes
│ └── index.html
│
├── part-6-final-portfolio/ # Complete polished portfolio
│ ├── index.html
│ └── style.css
│
└── part-7-Introduce-Bootstrap/ # Bootstrap templates from Start Bootstrap
├── index.html # SB Admin Dashboard
├── charts.html # Charts page
├── tables.html # DataTables page
├── login.html # Login page
├── register.html # Registration page
├── css/styles.css # Template styles
└── js/scripts.js # Template scripts
File: part-1-html-skeleton/index.html
Learn the basic structure of an HTML document:
<!DOCTYPE html>declaration<html>,<head>, and<body>tags- Meta tags and title
- Basic headings and paragraphs
Key Concepts:
<head> → Metadata (not visible on page)
<body> → Content (visible on page)File: part-2-bootstrap-setup/index.html
Add Bootstrap framework to your project:
- Bootstrap CSS CDN link
- Bootstrap JS Bundle
- Container class for layout
Key Concepts:
<!-- Bootstrap CSS -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
<!-- Bootstrap Container -->
<div class="container">...</div>File: part-3-profile-image/index.html
Learn to add and style images:
<img>tag withsrcandaltattributes- Bootstrap image classes:
rounded-circle,img-fluid - Asset management basics
Key Concepts:
<img src="path/to/image.jpg" alt="Description" class="rounded-circle">File: part-4-education-table/index.html
Structure data using tables and lists:
<table>,<thead>,<tbody>,<tr>,<th>,<td>- Bootstrap table class
- Unordered lists
<ul>and list items<li>
Key Concepts:
<table class="table">
<thead>
<tr><th>Column 1</th><th>Column 2</th></tr>
</thead>
<tbody>
<tr><td>Data 1</td><td>Data 2</td></tr>
</tbody>
</table>File: part-5-bootstrap-styling/index.html
Master Bootstrap utility classes:
- Spacing:
m-*,p-*,mt-*,pb-* - Background:
bg-light,bg-dark,bg-primary - Text:
text-center,text-muted,fw-bold - Tables:
table-striped,table-hover,table-bordered
Key Concepts:
<div class="text-center p-5 bg-light rounded mb-4">
Centered content with padding, light background, rounded corners, and bottom margin
</div>Files: part-6-final-portfolio/index.html, part-6-final-portfolio/style.css
Complete professional portfolio with:
- Responsive navigation bar
- Hero section with gradient background
- About, Education, Skills, and Contact sections
- Bootstrap Icons integration
- Custom CSS for animations and hover effects
- Mobile-responsive design
Folder: part-7-Introduce-Bootstrap/
This part introduces two approaches to working with Bootstrap:
Create a simple HTML file with Bootstrap CDN to understand the basics:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>My First Bootstrap Page</title>
<!-- Bootstrap CSS CDN -->
<link href="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/css/bootstrap.min.css" rel="stylesheet">
</head>
<body>
<div class="container mt-5">
<h1 class="text-primary">Hello Bootstrap!</h1>
<p class="lead">This is a minimal Bootstrap setup.</p>
<button class="btn btn-success">Click Me</button>
</div>
<!-- Bootstrap JS Bundle CDN -->
<script src="https://cdn.jsdelivr.net/npm/bootstrap@5.3.2/dist/js/bootstrap.bundle.min.js"></script>
</body>
</html>Key Concepts for Minimal Setup:
- Add Bootstrap CSS in
<head>section - Add Bootstrap JS before closing
</body>tag - Use
containerclass for responsive width - Use utility classes like
mt-5,text-primary,btn btn-success
Once comfortable with basics, use professional templates from Start Bootstrap to accelerate development.
Template Used: SB Admin
Files Included:
| File | Description |
|---|---|
index.html |
Main dashboard with charts and cards |
charts.html |
Chart.js integration examples |
tables.html |
DataTables with sorting/filtering |
login.html |
Login form page |
register.html |
Registration form page |
404.html, 401.html, 500.html |
Error pages |
Template Features:
- Responsive sidebar navigation
- Top navigation bar with search
- Dashboard with area, bar, and pie charts
- DataTables integration for sortable tables
- Authentication pages (login, register, password reset)
- Font Awesome icons
Goal: Modify the Start Bootstrap template to create your own admin dashboard.
- Open
part-7-Introduce-Bootstrap/index.htmlin your browser - Navigate through different pages (Dashboard, Charts, Tables)
- Try the sidebar toggle and responsive features
Task 1 - Update Branding:
- Open
index.html - Find
<a class="navbar-brand ps-3" href="index.html">Start Bootstrap</a> - Change "Start Bootstrap" to your name or project name
Task 2 - Modify Dashboard Cards:
- Locate the card sections in
index.html - Update the card titles and values
- Change card colors using Bootstrap classes (
bg-primary,bg-success,bg-warning,bg-danger)
Task 3 - Customize the Sidebar:
- Find the
<nav class="sb-sidenav">section - Add or remove menu items
- Update icons using Font Awesome
Task 4 - Edit the Footer:
- Find the
<footer>section - Replace copyright text with your information
- Modify
css/styles.cssto change colors and fonts - Update chart data in
assets/demo/chart-*.jsfiles - Add new pages following the template structure
- Visit Start Bootstrap
- Browse Templates or Themes
- Choose a template (Free options available)
- Click Free Download
- Extract the ZIP file
- Open
index.htmlin your browser
Popular Free Templates:
| Template | Best For |
|---|---|
| SB Admin | Admin dashboards |
| Resume | Personal portfolios |
| Agency | Business websites |
| Landing Page | Product launches |
| Blog Post | Blog articles |
- Start with
part-1-html-skeleton/index.html - Open the file in your browser to see the result
- Move to the next part when comfortable
- Compare your own code with each part
- Already know HTML basics? Start from
part-3 - Want the complete portfolio? Use
part-6
- Copy code snippets you need
- Use the comments in code to understand concepts
# Create your project folder
mkdir my-personal-html-website
cd my-personal-html-website
# Initialize git
git init- Copy the code from
part-6-final-portfolio - Modify with your own information:
- Replace "Your Name" with your actual name
- Update educational details in the table
- Add your skills
- Update social media links
- Save your photo in the project folder
- Update the
<img src="...">path
# Add all files
git add .
# Commit
git commit -m "Initial commit: My portfolio website"
# Create repo on GitHub named 'my-personal-html-website'
# Then push
git remote add origin https://github.com/YOUR_USERNAME/my-personal-html-website.git
git push -u origin main| Class | Description |
|---|---|
m-1 to m-5 |
Margin (all sides) |
p-1 to p-5 |
Padding (all sides) |
mt-*, mb-* |
Margin top/bottom |
ms-*, me-* |
Margin start/end |
mx-auto |
Horizontal centering |
| Class | Color |
|---|---|
bg-primary |
Blue |
bg-success |
Green |
bg-danger |
Red |
bg-warning |
Yellow |
bg-info |
Cyan |
bg-light |
Light gray |
bg-dark |
Dark gray |
| Class | Effect |
|---|---|
text-center |
Center align |
text-muted |
Gray text |
fw-bold |
Bold text |
fs-1 to fs-6 |
Font sizes |
- Portfolio displays correctly in browser
- Profile photo is visible
- Education table is properly formatted
- Website is mobile-responsive
- Code is pushed to GitHub repository
- Template opens correctly in browser
- Branding updated (navbar brand name changed)
- At least one dashboard card modified
- Footer updated with your information
- Modified template pushed to GitHub
- Screenshot 1: Full-page view of your portfolio in browser
- Screenshot 2: GitHub repository showing pushed files
- Screenshot 3: Customized Bootstrap template dashboard (Part 7)
Briefly explain one Bootstrap class you found most useful and why. Also describe one change you made to the Start Bootstrap template.
- Bootstrap 5 Documentation
- Bootstrap Icons
- Start Bootstrap - Free Templates
- Font Awesome Icons
- W3Schools HTML Tutorial
- MDN Web Docs
- Check the file path is correct
- Ensure the image file exists
- Use forward slashes
/in paths
- Verify the CDN link is correct
- Check your internet connection
- Ensure the link is inside
<head>
- Make sure all
<tr>are inside<thead>or<tbody> - Each row should have the same number of columns
Happy Coding!
Part of the Deep Learning with Full Stack Deployment Course