Lecture 1 / 12
Lecture 01 · Foundations

What is HTML?

Beginner ~40 min No prerequisites

Introduction to HTML

HTML stands for HyperText Markup Language. It is the standard language used to create and structure content on the web. Every webpage you visit — from Google to Wikipedia — is built on HTML at its core.

HTML is not a programming language. It is a markup language: it uses tags to annotate and describe the meaning of content, telling the browser how to display text, images, links, and other elements.

A brief history

Your First HTML File

Try it yourself! Edit the code on the left and click Run (or press Ctrl+Enter) to see it rendered live on the right.

Live Playground — Your First HTML Page
Updated
HTML Editor
Browser Preview
💡 Tip: Ctrl+Enter to run · Edit the code and see live output · Click Reset to restore original

Anatomy of an HTML Tag

HTML is built from elements. Most elements have an opening tag, content, and a closing tag:

<p class="intro">Hello!</p>
p
Tag name
class
Attribute
"intro"
Value
Hello!
Content

Self-closing (void) elements

Some elements have no content and don't need a closing tag. Try them below:

Live Playground — Void Elements
Updated
HTML Editor
Browser Preview
💡 These are "void" elements — no closing tag needed!
🎯 Exercise 1.1

In the playground above, modify the code: add a heading with your name, a paragraph describing yourself, and at least one more void element. Hit Run to see your changes!

Lecture 02 · Foundations

Document Structure

Beginner ~45 min Requires: Lecture 01

The HTML Boilerplate

Every valid HTML5 document follows the same fundamental structure. Try editing the boilerplate below:

Live Playground — HTML5 Boilerplate
Updated
HTML Editor
Browser Preview
💡 Notice the <style> tag — try changing the color value!

Block vs Inline Elements

HTML elements fall into two display categories. The playground below demonstrates both clearly:

Live Playground — Block vs Inline
Updated
HTML Editor
Browser Preview
💡 Orange border = block element · Blue border = inline element
🎯 Exercise 2.1

In the boilerplate playground above, change the <title> to your name, and add a linked stylesheet using <link rel="stylesheet" href="style.css"> in the head. What changes in the preview?

Lecture 03 · Foundations

Text & Typography

Beginner ~50 min Requires: Lecture 02

Headings

HTML provides six heading levels. Play with all of them below:

Live Playground — Headings & Typography
Updated
HTML Editor
Browser Preview
💡 Try removing <strong> and using <b> instead — visually the same but semantically different!
✅ Semantic vs Presentational
Prefer <strong> over <b> and <em> over <i>. Semantic tags convey meaning, not just appearance — crucial for screen readers and SEO.
🎯 Exercise 3.1 — Article Page

Use the playground above to create a mini blog post. Add an <h1> title, 2 paragraphs with <strong> and <em>, and a <blockquote>.

Lecture 04 · Foundations

Links & Navigation

Beginner ~45 min Requires: Lecture 03

The Anchor Tag

The <a> element creates hyperlinks. Try all the different link types below:

Live Playground — Links & Navigation
Updated
HTML Editor
Browser Preview
💡 The "Jump to Section 2" link scrolls within the preview iframe!
⚠️ Security: rel="noopener noreferrer"
Always add rel="noopener noreferrer" when using target="_blank". Without it, the opened page can access your page via window.opener — a security risk.
🎯 Exercise 4.1 — Navigation Menu

Build a styled navigation bar in the playground. Add 4 links, a mailto link, and a section that an anchor jumps to. Try adding basic CSS with <style> to make it look like a real nav bar!

Lecture 05 · Foundations

Images & Media

Beginner ~50 min Requires: Lecture 04

The <img> Element

Images are embedded with the self-closing <img> tag. The alt attribute is required for accessibility. Try different image URLs below:

Live Playground — Images & Media
Updated
HTML Editor
Browser Preview
💡 Change the number after ?random= to get a different image. Try ?random=42
🎯 Exercise 5.1 — Image Gallery

In the playground, build a mini gallery with 4 images using <figure> and <figcaption>. Use https://picsum.photos/200/150?random=N (change N for each). Try adding CSS to display them side by side!

Lecture 06 · Core Concepts

Lists & Tables

Beginner ~45 min Requires: Lecture 05

All Three List Types

Live Playground — Lists
Updated
HTML Editor
Browser Preview
💡 Try changing the ol type attribute: <ol type="A"> or <ol type="i">

Tables

Use tables for tabular data — never for page layout.

Live Playground — Tables
Updated
HTML Editor
Browser Preview
💡 Try adding a new row for April. Notice how colspan="2" spans columns!
Lecture 07 · Core Concepts

Forms & Inputs

Intermediate ~65 min Requires: Lecture 06

Building a Complete Form

Forms are how users interact with websites. Try filling out this form — it uses only HTML5 validation!

Live Playground — Forms & Inputs
Updated
HTML Editor

Browser Preview
💡 Click "Send Message" without filling required fields to see HTML5 validation!
Lecture 08 · Core Concepts

Semantic HTML

Intermediate ~55 min Requires: Lecture 07

Semantic vs Non-Semantic

See the difference in the playground below — the layout looks identical but the meaning is completely different:

Live Playground — Semantic HTML5 Layout
Updated
HTML Editor
Browser Preview
💡 Try replacing <header> with <div> — looks the same but loses meaning for screen readers!
Lecture 09 · Advanced

HTML5 APIs & Features

Intermediate ~60 min Requires: Lecture 08

Interactive HTML5 Components

Modern HTML5 comes with powerful built-in interactive elements — no JavaScript needed for many of them:

Live Playground — HTML5 APIs & Features
Updated
HTML Editor
Browser Preview
💡 Click the FAQ items, open the modal, and type into the datalist input!
Lecture 10 · Advanced

Accessibility (a11y)

Intermediate ~60 min Requires: Lecture 09

Why Accessibility Matters

Over 1 billion people worldwide have some form of disability. Let's see accessible vs inaccessible patterns side by side:

Live Playground — Accessibility
Updated
HTML Editor
Browser Preview
💡 Use Tab key to navigate — notice how the accessible button has a visible focus ring!
Lecture 11 · Advanced

SEO & Meta Tags

Intermediate ~50 min Requires: Lecture 10

SEO Meta Tags in Action

Meta tags live in the <head> — they're invisible to users but critical for search engines and social sharing. See how they work:

Live Playground — SEO Head & Social Cards
Updated
HTML Editor
Browser Preview
💡 Change the og:description and og:title meta tags — the cards below update when you hit Run!
Lecture 12 · Capstone

Capstone Project: Personal Portfolio

Advanced ~90 min Requires: All Lectures

Congratulations on reaching the final lecture! Build a fully semantic, accessible, SEO-optimised personal portfolio — all in the live playground below. This applies every concept from the course.

ℹ️ Your Sandbox
The playground below is fully unlocked — edit everything. Try adding your real name, projects, and skills. This is your HTML Mastery graduation project!
Live Playground — 🎓 Capstone Portfolio
Updated
HTML Editor — Edit Everything!
Browser Preview
🎓 This is your complete portfolio! Change "Jane Smith" to your name, add your real projects, and make it yours!
🚀 What's Next?

You've completed the HTML curriculum! Your natural next steps:

  • CSS — Style with Flexbox, Grid, animations
  • JavaScript — Add interactivity
  • Tailwind CSS — Utility-first CSS framework
  • Git & GitHub — Version control
  • Deployment — Netlify, GitHub Pages, Vercel