BiTree
  • Search For Lessons
  • Curriculum
  • Pricing
  • For Educators
  • Become a Tutor
  • About
  • Contact
Log InGet Started

Questions, concerns, bug reports, or suggestions? We read every message, write to us at [email protected].

More ways to reach us →
BiTree

Live coding lessons for aspiring developers and security professionals.

[email protected]

(201) 785-7951

Mon–Fri, 9 AM–5 PM EST

Learn

  • Search For Lessons
  • Curriculum
  • Pricing

Company

  • About
  • For Educators & Schools
  • Become a Tutor
  • Contact Us

Legal

  • Terms of Service
  • Privacy Policy
© 2026 BiTree. All rights reserved.
Curriculum/Web Development/HTML Fundamentals
45 minBeginner

HTML Fundamentals

After this lesson, you will be able to: Build a structured webpage from scratch using semantic HTML, headings, paragraphs, lists, links, images, and forms.

HTML is the skeleton of every webpage. In this lesson you'll learn the essential tags, the document structure every page needs, and how to write semantic HTML, which makes pages accessible to screen readers and easier for search engines to understand.

Prerequisites:How the Web Works

The document skeleton every page starts with

Every HTML file begins with this exact structure. Memorize it.

html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8" />
<meta name="viewport" content="width=device-width, initial-scale=1.0" />
<title>My First Page</title>
</head>
<body>
<h1>Hello, world!</h1>
<p>This is my first webpage.</p>
</body>
</html>

Tags, elements, and attributes

A tag is the bit in angle brackets like <p> or <img>. An element is an opening tag, content, and closing tag together: <p>Hello</p>. Attributes provide extra info inside the opening tag, like <a href="https://example.com">. Tags should be lowercase, and most need a closing tag.

Diagram coming soon!

Anatomy diagram of the element <a href="...">Click me</a>, labeled: opening tag, attribute (href), value, content, closing tag

The most useful tags

These cover 80% of what you'll use day to day.

html
<h1>Main heading</h1>
<h2>Sub heading</h2>
<p>Regular paragraph text.</p>
<a href="https://example.com">A link</a>
<img src="cat.jpg" alt="A friendly cat" />
<ul>
<li>Bulleted item</li>
<li>Another item</li>
</ul>
<button>Click me</button>

Forms and inputs

Forms collect data from users. Each input needs a name and ideally a label.

tsx
<form action="/signup" method="POST">
<label for="email">Email:</label>
<input id="email" name="email" type="email" required />
<label for="age">Age:</label>
<input id="age" name="age" type="number" min="13" />
<button type="submit">Sign up</button>
</form>

ℹ️ Tip, always include alt text on images

The alt attribute describes the image for screen readers and shows when the image fails to load. Skipping it makes your page inaccessible. If an image is purely decorative, use alt="".

Try it: build a personal bio page

Spend 10 minutes building this in the in-browser editor. Keep everything inside <body>, no CSS yet.

  1. 1

    Start with the document skeleton from earlier in this lesson

  2. 2

    Replace everything inside <body> with your own content

  3. 3

    Add an <h1> with your name as the page's main heading

  4. 4

    Add a paragraph introducing yourself

  5. 5

    Add a bulleted list of three hobbies

  6. 6

    Add a link to a website you like, and an image with a real alt description (alt="…" describes what's in the image)

Quick Check

What's the difference between an <h1> and a <p>?

Beyond just the size, think about meaning.

Sign in and purchase access to unlock this lesson.

Sign in to purchase
←Git, GitHub, and Your First Repo
Back to Web Development
Semantic HTML, Accessibility, and WCAG→