2024
HTML Crash Course
WE’BECKS TECHNOLOGY L
7/4/2024
Thought of the day
The gate you are afraid of entering holds the treasure you seek in life.
HTML Crash Course for Beginner to Advanced (Six Weeks)
Authored by: WE'BECKS TECHNOLOGY LTD
Location: Kpansia-Yenagoa, Bayelsa State. Nigeria.
Email:greenbeks90@[Link]
Phone:08103922681, 07086884104
Introduction
This HTML crash course is an 8-week journey designed to take learners from
absolute beginners to confident developers with advanced understanding of
HTML. It is practical and project-based, with weekly tasks, projects, and plugin
exploration. Ideal for aspiring web developers, tech enthusiasts, or students.
2
What is HTML?
HTML stands for HyperText Markup Language. It is the standard language
used to create and structure content on the web. HTML tells web browsers how
to display text, images, links, and other types of content on a webpage.
Key Features of HTML:
Not a programming language – it’s a markup language.
Uses tags (like <p>, <a>, <img>, etc.) to define elements.
Works closely with CSS (for styling) and JavaScript (for interactivity).
A Brief History of HTML
Year Milestone
1989 Tim Berners-Lee proposes a new system for sharing information: the
World Wide Web.
1991 First version of HTML is introduced, with 18 basic tags.
1995 HTML 2.0 becomes the first official standard.
1997 HTML 3.2 and later HTML 4.01 are released, adding more tags and
functionality.
1999– Development slows. Browsers start implementing their own features.
2008
2008 HTML5 begins development, aiming to modernize HTML for
multimedia, mobile, and apps.
2014 HTML5 becomes the official recommendation by the W3C.
Today HTML5 continues to evolve, supporting web apps, video, canvas
graphics, and semantic layout.
Fun Fact:
The very first website ever created is still online! It's hosted by CERN and was
written entirely in early HTML.
HTML Tag Classification by Functionality
3
To make learning easier, we classify HTML tags into the following categories:
Category Purpose Common Tags
Document Defines structure of the <html>, <head>, <body>,
Structure HTML document <title>, <meta>
Text Content Adds and formats textual <p>, <h1>–<h6>, <br>, <hr>,
content <blockquote>
Grouping Organizes content in <div>, <span>, <section>,
Content sections <article>, <main>
Lists Creates <ul>, <ol>, <li>, <dl>, <dt>,
ordered/unordered lists <dd>
Links and Adds hyperlinks or <a>, <nav>, <link>
Navigation navigation menus
Media Embeds images, audio, <img>, <audio>, <video>,
or videos <source>, <track>
Tables Displays tabular data <table>, <tr>, <td>, <th>,
<thead>, <tbody>, <tfoot>
Forms and Collects user input <form>, <input>, <textarea>,
Inputs <select>, <option>, <label>,
<button>
Semantic Improves SEO & <header>, <footer>, <aside>,
Elements readability <section>, <article>, <main>
Metadata & Adds meta info or loads <meta>, <style>, <script>,
Scripts scripts/styles <noscript>
Inline Text Emphasizes or modifies <strong>, <em>, <b>, <i>,
Semantics text <mark>, <small>, <del>, <ins>
Interactive Adds interactive UI <details>, <summary>,
Elements components <dialog>
8-Week Scheme of Work
Each week includes:
✅Theoretical learning
✅Hands-on classroom project with solution
✅Reference to external plugin/tools
4
✅Week 1: Introduction to HTML & Basic Structure
Topics Covered:
What is
HTML?
Structure of an HTML document
Head vs Body
Basic tags: <html>, <head>, <title>, <body>, <h1>–<h6>, <p>,
<br>, <hr>
Classroom Project:
Create a basic personal profile page.
Example Code:
<!DOCTYPE html>
<html>
<head>
<title>My Profile</title>
</head>
<body>
<h1>Welcome to My Profile</h1>
<p>Hello! My name is John Doe. I love
coding.</p>
<hr>
<p>Contact: johndoe@[Link]</p>
</body>
</html>
Plugin Reference:
HTML Validator
Emmet – Fast HTML snippets
5
✅Week 2: Formatting and Grouping Content
Topics Covered:
Text formatting tags: <b>, <i>, <u>, <em>, <strong>
Grouping tags: <div>, <span>
Semantic elements: <section>, <article>, <header>, <footer>
Classroom Project:
Create a blog layout with semantic tags.
Example Code:
<article>
<header>
<h1>My First Blog</h1>
<p><em>by John Doe</em></p>
</header>
<section>
<p>This is my first blog post. <strong>Stay
tuned!</strong></p>
</section>
<footer>
<p>Contact me via <a
href="[Link]
</footer>
</article>
Plugin Reference:
HTML5 Outliner
6
ColorZilla – Pick colors
✅Week 3: Lists and Links
Topics Covered:
Ordered lists <ol>, unordered lists <ul>, and list items <li>
Creating hyperlinks with <a>
Link attributes: href, target, rel
Classroom Project:
Design a navigation menu with lists and links.
Example Code:
<nav>
<ul>
<li><a href="[Link]">Home</a></li>
<li><a href="[Link]" target="_blank">About</a></li>
<li><a href="[Link]">Contact</a></li>
</ul>
</nav>
7
Plugin Reference:
FontAwesome
Coolors – Color palette generator
✅Week 4: Images and Multimedia
Topics Covered:
Adding images using <img>
Embedding audio and video using <audio>, <video>, <source>
Classroom Project:
Example Code:
Create a product showcase page with media.
Plugin Reference:
TinyPNG – Compress images
[Link] – Custom video/audio player
✅Week 5: Tables in HTML
Topics Covered:
Table structure: <table>, <tr>, <td>, <th>, <thead>, <tbody>,
<tfoot>
Classroom Project:
Build a price table for a product or service.
8
Example Code:
<table border="1">
<thead>
<tr>
<th>Product</th>
<th>Price</th>
</tr>
</thead>
<tbody>
<tr>
<td>Phone</td>
<td>$299</td>
</tr>
<tr>
<td>Laptop</td>
<td>$799</td>
</tr>
</tbody>
</table>
Plugin Reference:
DataTables – Interactive tables
✅Week 6: Forms and User Input
Topics Covered:
9
Form elements: <form>, <input>, <textarea>, <button>,
<select>, <option>, <label>
Form attributes: action, method, required
Classroom Project:
Design a contact form.
Example Code:
<form action="[Link]" method="post">
<label for="name">Name:</label><br>
<input type="text" id="name" name="name"
required><br><br>
<label for="msg">Message:</label><br>
<textarea id="msg" name="message" rows="4"
required></textarea><br><br>
<button type="submit">Send</button>
</form>
Plugin Reference:
Formspree
Google reCAPTCHA
✅Week 7: Advanced HTML + Best Practices
Topics Covered:
Accessibility with alt, aria-
10
SEO with <meta>, <title>, heading hierarchy
Responsive layout with viewport meta tag
Classroom Project:
Create a responsive portfolio homepage
Example Code:
<meta name="viewport" content="width=device-width, initial-
scale=1.0">
<h1>Jane Doe Portfolio</h1>
<p>Web Developer & Designer</p>
<img src="[Link]" alt="Jane Doe">
Plugin Reference:
HTML ARIA Guide
Can I Use – Feature support checker
✅Week 8: Capstone Project – One-Page Website
Project Goal:
Build a fully responsive one-page website using everything learned.
Required Sections:
Navigation menu
About section
Gallery (images)
Contact form
Footer
11
Plugin Suggestions:
AOS – Scroll animations
[Link]
Lightbox2
Glossary of HTML Tags and Description
Tag Description
<!--...--> Defines a comment
<!DOCTYPE> Defines the document type
<a> Defines a hyperlink
<abbr> Defines an abbreviation or an acronym
<acronym> Not supported in HTML5. Use <abbr> instead.
Defines an acronym
<address> Defines contact information for the author/owner of a document
<applet> Not supported in HTML5. Use <embed> or <object> instead.
Defines an embedded applet
12
<area> Defines an area inside an image map
<article> Defines an article
<aside> Defines content aside from the page content
<audio> Defines embedded sound content
<b> Defines bold text
<base> Specifies the base URL/target for all relative URLs in a document
<basefont> Not supported in HTML5. Use CSS instead.
Specifies a default color, size, and font for all text in a document
<bdi> Isolates a part of text that might be formatted in a different direct
other text outside it
<bdo> Overrides the current text direction
<big> Not supported in HTML5. Use CSS instead.
Defines big text
<blockquote> Defines a section that is quoted from another source
<body> Defines the document's body
13
<br> Defines a single line break
<button> Defines a clickable button
<canvas> Used to draw graphics, on the fly, via scripting (usually JavaScript)
<caption> Defines a table caption
<center> Not supported in HTML5. Use CSS instead.
Defines centered text
<cite> Defines the title of a work
<code> Defines a piece of computer code
<col> Specifies column properties for each column within a <colgroup>
<colgroup> Specifies a group of one or more columns in a table for formatting
<data> Adds a machine-readable translation of a given content
<datalist> Specifies a list of pre-defined options for input controls
<dd> Defines a description/value of a term in a description list
<del> Defines text that has been deleted from a document
14
<details> Defines additional details that the user can view or hide
<dfn> Specifies a term that is going to be defined within the content
<dialog> Defines a dialog box or window
<dir> Not supported in HTML5. Use <ul> instead.
Defines a directory list
<div> Defines a section in a document
<dl> Defines a description list
<dt> Defines a term/name in a description list
<em> Defines emphasized text
<embed> Defines a container for an external application
<fieldset> Groups related elements in a form
<figcaption> Defines a caption for a <figure> element
<figure> Specifies self-contained content
<font> Not supported in HTML5. Use CSS instead.
15
Defines font, color, and size for text
<footer> Defines a footer for a document or section
<form> Defines an HTML form for user input
<frame> Not supported in HTML5.
Defines a window (a frame) in a frameset
<frameset> Not supported in HTML5.
Defines a set of frames
<h1> to <h6> Defines HTML headings
<head> Contains metadata/information for the document
<header> Defines a header for a document or section
<hgroup> Defines a header and related content
<hr> Defines a thematic change in the content
<html> Defines the root of an HTML document
<i> Defines a part of text in an alternate voice or mood
<iframe> Defines an inline frame
16
<img> Defines an image
<input> Defines an input control
<ins> Defines a text that has been inserted into a document
<kbd> Defines keyboard input
<label> Defines a label for an <input> element
<legend> Defines a caption for a <fieldset> element
<li> Defines a list item
<link> Defines the relationship between a document and an external res
(most used to link to style sheets)
<main> Specifies the main content of a document
<map> Defines an image map
<mark> Defines marked/highlighted text
<menu> Defines an unordered list
<meta> Defines metadata about an HTML document
17
<meter> Defines a scalar measurement within a known range (a gauge)
<nav> Defines navigation links
<noframes> Not supported in HTML5.
Defines an alternate content for users that do not support frames
<noscript> Defines an alternate content for users that do not support client-s
scripts
<object> Defines a container for an external application
<ol> Defines an ordered list
<optgroup> Defines a group of related options in a drop-down list
<option> Defines an option in a drop-down list
<output> Defines the result of a calculation
<p> Defines a paragraph
<param> Defines a parameter for an object
<picture> Defines a container for multiple image resources
18
<pre> Defines preformatted text
<progress> Represents the progress of a task
<q> Defines a short quotation
<rp> Defines what to show in browsers that do not support ruby annotations
<rt> Defines an explanation/pronunciation of characters (for East Asian typography)
<ruby> Defines a ruby annotation (for East Asian typography)
<s> Defines text that is no longer correct
<samp> Defines sample output from a computer program
<script> Defines a client-side script
<search> Defines a search section
19
<section> Defines a section in a document
<select> Defines a drop-down list
<small> Defines smaller text
<source> Defines multiple media resources for media elements (<video> and <audio>)
<span> Defines a section in a document
<strike> Not supported in HTML5. Use <del> or <s> instead.
Defines strikethrough text
<strong> Defines important text
<style> Defines style information for a document
<sub> Defines subscripted text
<summary> Defines a visible heading for a <details> element
20
<sup> Defines superscripted text
<svg> Defines a container for SVG graphics
<table> Defines a table
<tbody> Groups the body content in a table
<td> Defines a cell in a table
<template> Defines a container for content that should be hidden when the page loads
<textarea> Defines a multiline input control (text area)
<tfoot> Groups the footer content in a table
<th> Defines a header cell in a table
<thead> Groups the header content in a table
21
<time> Defines a specific time (or datetime)
<title> Defines a title for the document
<tr> Defines a row in a table
<track> Defines text tracks for media elements (<video> and <audio>)
<tt> Not supported in HTML5. Use CSS instead.
Defines teletype text
<u> Defines some text that is unarticulated and styled differently from normal text
<ul> Defines an unordered list
<var> Defines a variable
<video> Defines embedded video content
<wbr> Defines a possible line-break
22
Final Thoughts
Congratulations on completing the crash course! You now understand HTML
fundamentals, best practices, semantic structure, and how to build interactive, user-
friendly websites.
Next Steps:
Learn CSS and JavaScript
Build a portfolio
Join developer communities like Githubs
23