FREE LEARNING RESOURCE
HTML Fundamentals: Build Your First Web Page
Learn the language that gives every webpage its structure. Follow short lessons, study working examples and finish with a personal profile project.
- No experience required
- Practical examples
- Mobile friendly
<!DOCTYPE html>
<html>
<body>
<h1>Hello!</h1>
<p>My first page.</p>
</body>
</html>
YOUR LEARNING PATH
From an empty file to a structured webpage
Complete the lessons in order. Each concept prepares you for the next one.
Understand
Learn what HTML does and how browsers read it.
Structure
Use elements, attributes and semantic sections.
Practice
Create text, links, images, lists, tables and forms.
Build
Combine everything in a personal profile page.
12 BEGINNER LESSONS
Learn one concept at a time
Open a lesson, read the explanation, copy the example and complete the practice task.
01What is HTML?
The structure of a webpage
What is HTML?
The structure of a webpage
HTML means HyperText Markup Language. It uses elements to describe headings, paragraphs, images, links and other parts of a webpage. HTML creates structure; CSS controls appearance; JavaScript adds behaviour.
Create a folder named my-first-page and add a file named index.html.
02HTML Document Structure
The essential starting template
HTML Document Structure
The essential starting template
Every page begins with a document type and contains an html element. Information for the browser belongs in head; visible page content belongs in body.
<!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>Welcome to My Website</h1>
<p>This is my first HTML page.</p>
</body>
</html>Saving the file as index.html.txt. Make sure its extension is exactly .html.
03Elements, Tags and Attributes
How HTML instructions are written
Elements, Tags and Attributes
How HTML instructions are written
An element normally contains an opening tag, content and a closing tag. Attributes add information to an element.
<p title="About me">I am learning HTML.</p>
<a href="https://example.com">Visit Example</a>Identify the element, content and attribute in both examples.
04Text and Headings
Organise readable content
Text and Headings
Organise readable content
Use headings in a meaningful hierarchy. Use paragraphs for normal text and strong or em when the meaning requires importance or emphasis.
<h1>My Portfolio</h1>
<h2>About Me</h2>
<p>I am learning <strong>web development</strong>.</p>
<hr>
<p><em>Practice every day.</em></p>
<!-- This comment is not visible on the page -->Choosing headings because of their size. Use headings for structure; use CSS later for size.
05Links and Images
Connect pages and add meaningful visuals
Links and Images
Connect pages and add meaningful visuals
The a element creates a link. The img element displays an image; its alt text explains the image when it cannot be seen.
<a href="https://example.com" target="_blank" rel="noopener">
Visit my portfolio
</a>
<img src="images/profile.jpg"
alt="Portrait of Ashish Kumar Patel"
width="300" height="300">Add one local image and one external link to your page.
06Lists
Present related information clearly
Lists
Present related information clearly
Use an unordered list when sequence does not matter and an ordered list for steps or rankings.
<h2>Skills</h2>
<ul>
<li>HTML</li>
<li>CSS</li>
</ul>
<h2>Learning Path</h2>
<ol>
<li>Learn HTML</li>
<li>Practice CSS</li>
<li>Build with JavaScript</li>
</ol>07Tables
Display genuinely tabular data
Tables
Display genuinely tabular data
A table contains rows, header cells and data cells. Use tables for data—not for arranging the page layout.
<table>
<caption>Weekly Learning Schedule</caption>
<tr>
<th>Day</th>
<th>Topic</th>
</tr>
<tr>
<td>Monday</td>
<td>HTML</td>
</tr>
</table>Add two more learning days to the table.
08Forms
Collect information from a visitor
Forms
Collect information from a visitor
Labels describe fields and make forms easier to use. The example below shows structure only; processing submitted data requires a server or form service.
<form>
<label for="name">Name</label>
<input id="name" name="name" type="text" required>
<label for="email">Email</label>
<input id="email" name="email" type="email" required>
<label for="message">Message</label>
<textarea id="message" name="message"></textarea>
<button type="submit">Send</button>
</form>09Semantic HTML
Give each part a meaningful role
Semantic HTML
Give each part a meaningful role
Semantic elements describe their purpose to browsers, developers and assistive technologies.
<header>Logo and page heading</header>
<nav>Main navigation links</nav>
<main>
<section>
<h2>My Projects</h2>
<article>Project details</article>
</section>
</main>
<footer>Copyright information</footer>10Block and Inline Elements
Understand normal page flow
Block and Inline Elements
Understand normal page flow
Block elements normally begin on a new line, while inline elements flow within surrounding text.
Block
div, p, section, h2
Inline
a, span, strong, em
11Entities and Special Characters
Display reserved characters safely
Entities and Special Characters
Display reserved characters safely
Some characters have special meaning in HTML. Entities let you display them as text.
< displays <
> displays >
& displays &
© displays ©12Check and Improve Your HTML
Build reliable habits
Check and Improve Your HTML
Build reliable habits
- Use one clear main heading.
- Nest elements correctly.
- Add meaningful alternative text.
- Connect every label to its form field.
- Use semantic elements where appropriate.
- Indent code consistently.
- Test links and file paths.
- Validate HTML before publishing.
MINI PROJECT
Build a personal profile page
Combine headings, images, links, lists, tables, forms and semantic HTML in one practical page.
Your page should include
- A meaningful page title
- Header with your name
- Profile image and introduction
- Skills list
- Learning schedule table
- Contact form
- Footer and copyright
Replace every sample value with your own information and add one new section without copying the example.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>My Profile</title>
</head>
<body>
<header>
<h1>Your Name</h1>
<p>Aspiring Full Stack Developer</p>
</header>
<main>
<section>
<h2>About Me</h2>
<img src="profile.jpg" alt="Portrait of Your Name" width="200">
<p>I enjoy learning how websites are built.</p>
</section>
<section>
<h2>Skills</h2>
<ul>
<li>HTML</li>
<li>Problem solving</li>
</ul>
</section>
<section>
<h2>Contact</h2>
<form>
<label for="visitor-name">Name</label>
<input id="visitor-name" type="text" required>
<button type="submit">Send</button>
</form>
</section>
</main>
<footer>
<p>© 2026 Your Name</p>
</footer>
</body>
</html>KNOWLEDGE CHECK
Test your HTML fundamentals
Choose one answer for every question, then check your score.
WHAT COMES NEXT?
HTML gives structure. CSS makes it presentable.
LEARN WITH PERSONAL GUIDANCE
Want to build real projects—not just read tutorials?
Join the Full Stack Development program in Nagpur. Five months • Three days weekly • Evening batch.