Chapter 8 of 17 · HTML for Beginners — Complete Free Tutorial
HTML Lists
Lists group related items — ingredients, features, steps, search results. HTML gives you three list types, and choosing the right one is a matter of meaning.
Unordered lists: <ul>
Use when item order does not matter. Bullets appear by default.
<ul>
<li>Bread flour</li>
<li>Active sourdough starter</li>
<li>Fine sea salt</li>
<li>Filtered water</li>
</ul>
Expected output: four bullet points stacked vertically with spacing.
Ordered lists: <ol>
Use when sequence matters — steps, rankings, instructions.
<ol>
<li>Mix flour and water; rest 30 minutes.</li>
<li>Add starter and salt; knead until smooth.</li>
<li>Bulk ferment for 4–6 hours, folding every 45 minutes.</li>
<li>Shape, proof overnight, bake at 240°C.</li>
</ol>
Expected output: numbered items 1–4 in order.
Changing the start or numbering style
<ol start="5"><li>Fifth item continues from 5</li></ol>
<ol type="a"><li>Letters: a, b, c</li></ol>
<ol type="I"><li>Roman numerals: I, II, III</li></ol>
<li value="3">Force this item to be 3</li>
Description lists: <dl>
Pairs of terms and descriptions — glossaries, specs, FAQs, metadata.
<dl>
<dt>Starter</dt>
<dd>A live culture of flour and water used to leaven bread.</dd>
<dt>Autolyse</dt>
<dd>A rest period where flour hydrates before salt is added.</dd>
</dl>
Expected output: each bold term followed by its indented definition.
Nested lists
Put a whole list inside an <li> to create sub-steps:
<ol>
<li>Prepare the dough
<ol>
<li>Weigh 500 g flour</li>
<li>Add 350 g water</li>
</ol>
</li>
<li>Bake</li>
</ol>
Expected output: "1. Prepare the dough" with an indented "1.1 / 1.2" beneath it, then "2. Bake".
Styling hooks
Lists ship with default bullets, but CSS controls them entirely:
<!-- CSS example: no bullets + custom check marks -->
<ul class="checklist">
<li>Validated with the W3C checker</li>
<li>Tested on mobile</li>
</ul>
.checklist { list-style: none; padding-left: 0; }
.checklist li::before { content: "✓ "; color: #16a34a; font-weight: 700; }
Real-life use cases
- Recipes: ingredients in a
<ul>, steps in an<ol>. - Pricing tables: feature bullets in
<ul>. - Sidebars: a
<dl>of "Difficulty: Beginner · Time: 20 min · Prerequisites: None". - Footer sitemaps: nested
<ul>inside<nav>.
Common mistakes
- Ordered list for bullets, then manual numbers — do not type "1." inside
<li>; that breaks when items reorder. - List of links as bare
<a>tags — wrap each in<li>inside a<ul>for semantics. - Using lists purely for layout — fine as a hook, but modern CSS (grid/flex) handles layout without polluting markup.
- Missing
<li>wrapper — only<li>,<script>, and<template>may sit directly inside<ul>/<ol>.
Best practices
- Let the browser number
<ol>items — it guarantees correctness with dynamic content. - Keep list items parallel in grammar ("Weigh flour", "Add water" — not "Weighing flour").
- For menus/navigation, combine with
<nav>as shown in Links & Navigation.
What's next?
When items have columns and headers, you need a Table instead. For input collection, continue to Forms & Inputs.
Frequently Asked Questions
HTML (HyperText Markup Language) is the standard markup language that defines the structure and meaning of every web page. Learning HTML is the fastest way into web development: it is the foundation that CSS, JavaScript, and every framework build upon, and it directly affects SEO and accessibility.
Most beginners can build their first complete page in a day and become comfortable with the core tags within 1–2 weeks of daily practice. This 17-chapter series is designed to be completed in about 2–3 weeks at a relaxed pace, faster if you type out every example.
Only a plain text editor (VS Code is free and popular) and a web browser. No installation, no setup, no account — create a file called index.html, double-click it, and it opens in your browser.
HTML5 is the current generation of the HTML standard (published as the living standard by WHATWG). When people say "HTML5" they usually mean modern HTML: semantic elements like header, nav and article, native audio/video, canvas, and improved form input types — all covered in this tutorial.
No. HTML is a markup language — it describes content and structure but has no variables, loops, or conditionals. Those come with programming languages like JavaScript, which you would learn after HTML and CSS.
Right here: every chapter includes examples you can retype in your own index.html file, plus practice challenges. After this series, build small projects — a portfolio page, a recipe page, or a landing page for a local business — they exercise the same tags in real contexts.
Search engines crawl HTML first. Unique titles, a single clear h1, a logical heading hierarchy, descriptive alt text, valid markup, fast-loading responsive images, and a proper internal linking structure all come straight from HTML — see the HTML & SEO chapter for the full checklist.
Accessible HTML makes your site usable by everyone, including people who rely on screen readers or keyboards, and it is a legal requirement in many countries. The good news: proper labels, semantic elements, alt text, and keyboard-operable controls are mostly free HTML habits.
No — there are roughly 100 meaningful tags and you will naturally use about 30 of them regularly. Focus on understanding purpose and structure; editors and references (like MDN) handle the rest. This tutorial covers every tag beginners actually need.
CSS for visual design and layout, then JavaScript for interactivity, then a version control system (Git). With those three you can build complete websites; frameworks like React or Laravel Blade come after the fundamentals feel natural.