View All
View All
View All
View All
View All
View All
View All
View All
View All
View All
View All
View All
View All

Structure of HTML: The Essential Guide to Building Web Pages in 2025

By Rohan Vats

Updated on Jan 15, 2025 | 16 min read | 13.9k views

Share:

HTML, or HyperText Markup Language, is the foundation of the web, providing the essential structure for all web pages. Its primary purpose is to organize content into meaningful elements like headings, paragraphs, images, and links, making it accessible and easy to interpret for users.

In the broader context of web development, HTML works seamlessly with CSS and JavaScript to create functional and visually appealing websites. While HTML structures the content, CSS adds styles like colors and layouts, and JavaScript introduces interactivity, such as animations and dynamic forms.

This guide will walk you through the basic structure of HTML, explaining key elements, their roles, and best practices for building robust and scalable web pages. Let’s dive right in! 

Core Structure of HTML Document

The structure of an HTML document is fundamental to creating web pages. It follows a specific layout with defined sections and elements, each serving a unique purpose. Here is a look at the key components of an HTML document.

Doctype Declaration

What is <!DOCTYPE html>?
The <!DOCTYPE html> declaration informs the browser about the HTML version used in the document. In modern web development, it indicates that the document is using HTML5, ensuring consistent rendering across browsers.

Purpose of <!DOCTYPE html>:

  • Defines the HTML version for the browser.
  • Helps maintain cross-browser compatibility.
  • Ensures proper rendering of the document.

Key Points:

  • Must be the first line in any HTML document.
  • Not case-sensitive.

Example:

<!DOCTYPE html>

Also Read: HTML Tutorial: The Complete Guide

In the next section, you can learn about the HTML Element. 

HTML Element

Overview of <html> Tag:
The <html> tag serves as the root element for any HTML document. It encapsulates all content, including the <head> and <body> sections.

Key Features:

  • Defines the beginning and end of an HTML document.
  • Requires the lang attribute to specify the document’s language.

Example Code:

<!DOCTYPE html>
<html lang="en">
  <head>
    <title>Sample Page</title>
  </head>
  <body>
    <h1>Welcome to HTML</h1>
    <p>This is a simple HTML structure.</p>
  </body>
</html>

Explanation:

  • <html> starts and ends the document.
  • The lang="en" attribute specifies that the content is in English.

Learning about HTML coding and the structure of HTML can provide you with complete freedom in defining the structure and functioning of your web pages. Sign up for upGrad’s Introduction to HTML course to learn about HTML coding.

HTML, along with JavaScript and CSS, is used extensively for software development projects. Hence, learning about HTML can help you to achieve enormous success in a software development career. Consider signing up for upGrad’s Online Software Development Courses to learn all about software development. 

Now, let’s see what the Head Section is.  

Head Section

Here is a look at the Head Section and its role in the HTML document.  

Purpose of <head> Tag

The <head> tag contains metadata and links to external resources essential for rendering the web page correctly. It does not display content directly on the page but plays a critical role in SEO, styling, and functionality.

Important Elements in the <head> Section:

  • <title>: Specifies the title of the document, displayed in the browser tab.
  • <meta>: Provides metadata like character encoding, viewport settings, and SEO keywords.
  • <link>: Links external stylesheets or resources.
  • <style>: Embeds internal CSS for styling elements.
  • <base>: Sets the base URL for relative links.
  • <noscript>: Provides fallback content for users with disabled JavaScript.
  • <script>: Links or embeds JavaScript for interactivity.

Example Code:

<head>
  <title>My Web Page</title>
  <meta charset="UTF-8">
  <meta name="viewport" content="width=device-width, initial-scale=1.0">
  <link rel="stylesheet" href="styles.css">
  <style>
    body {
      background-color: #f0f0f0;
    }
  </style>
  <script src="script.js"></script>
</head>

Coverage of AWS, Microsoft Azure and GCP services

Certification8 Months
View Program

Job-Linked Program

Bootcamp36 Weeks
View Program

JavaScript is an extensively used programming language with diverse applications like the creation of dynamic web pages. upGrad’s JavaScript Tutorial can help you to learn all about this language. 

Also Read: CSS Tutorial: Learn CSS from Scratch

Now, let’s take a look at the formatting and styling of HTML text. 

HTML Text Formatting and Styling

Text Formatting Tags in the <head> Section

Purpose: Text formatting tags provide basic styling to text elements, enhancing their appearance and meaning.

Common Tags:

  • <b>: Bold text.
  • <i>: Italic text.
  • <u>: Underlined text.
  • <strong>: Strongly emphasized (bold).
  • <em>: Emphasized (italic).
  • <mark>: Highlights text.

Example Code:

<body>
  <p>This is a <b>bold</b> text example.</p>
  <p>This is an <i>italic</i> text example.</p>
  <p>This is a <u>underlined</u> text example.</p>
  <p>This is a <strong>strongly emphasized</strong> text example.</p>
  <p>This is an <em>emphasized</em> text example.</p>
  <p>This text is <mark>highlighted</mark>.</p>
</body>

Styling with <style> Tag

Purpose: Use the <style> tag to apply inline or internal CSS directly within the HTML document.

Inline Styling Example:

<body>
  <p style="color: red; font-size: 20px;">This is a styled paragraph.</p>
</body>

Key Features:

  • Allows quick styling directly in the document.
  • Ideal for small, specific customizations.

Key Action:
Combine the <head> section’s elements and text formatting tags to create a well-structured, functional HTML document.

In the next section, you’ll learn about the Body tag in HTML. 

Body Section

Role of the <body> Tag in HTML

The <body> tag is a fundamental element in HTML, as it holds all the visible content displayed on a web page. This includes text, images, videos, links, forms, and any interactive elements that the user interacts with. It is a container for the entire visual and interactive structure of the web page, sitting directly inside the <html> tag.

Key Features of the <body> Tag

  • Visible Content: Displays all the elements that users see and interact with on the web page.
  • Interactive Elements: Includes buttons, forms, and links that enable user interaction.
  • Media Support: Allows embedding of images, videos, audio files, and other multimedia content.
  • Flexible Styling: Works seamlessly with CSS for styling and JavaScript for interactivity.

Common Elements Inside the <body> Tag

  • Text Content: Headings (<h1> to <h6>), paragraphs (<p>), and lists (<ul>, <ol>, <li>).
  • Media Elements: Images (<img>), videos (<video>), and audio (<audio>).
  • Interactive Elements: Links (<a>), forms (<form>), and buttons (<button>).
  • Structural Elements: Divisions (<div>) and sections (<section>) to organize content.

Example Code

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Sample Web Page</title>
</head>
<body>
  <h1>Welcome to My Web Page</h1>
  <p>This is a paragraph of text that describes the content of the page.</p>
  <img src="example.jpg" alt="Example Image">
  <a href="https://example.com">Click here to visit an example site</a>
  <form>
    <label for="name">Name:</label>
    <input type="text" id="name" name="name">
    <button type="submit">Submit</button>
  </form>
</body>
</html>

Importance of the <body> Tag

  • Acts as the main container for all content visible to users.
  • Essential for delivering a seamless and user-friendly web experience.
  • Integrates with CSS for styling and JavaScript for interactive functionalities, allowing a dynamic and engaging web page.

The <body> tag is the backbone of a web page's content structure, ensuring that all visible and interactive elements are well-organized and accessible.

A CSS tutorial is the perfect way to learn about CSS and use it for your web development and software development projects. upGrad’s CSS Tutorial can help you to improve your career growth prospects through upskilling. 

In the next section, you will learn about some essential HTML tags used in web pages. 

Essential HTML Tags You Need to Know

HTML tags are the building blocks of web pages, each serving a specific purpose to structure, style, or enhance content. Understanding the difference between block and inline elements, the common structural tags, media tags, links, and attributes is vital for effective web development.

Block vs. Inline Elements

HTML elements are categorized into block-level and inline elements based on their behavior in a document.

Block-Level Elements:

  • Always start on a new line and take up the full width of their container.
  • Common examples:
    • <div>: Groups related content.
    • <p>: Represents paragraphs.
    • <h1>, <h2>: Headings for titles and subheadings.

Inline Elements:

  • Do not start on a new line and only take up as much width as necessary.
  • Common examples:
    • <a>: Hyperlinks.
    • <span>: Used for styling specific parts of text.
    • <img>: Embeds images in a document.

Example Code:

<div>
  <h1>This is a Block Element</h1>
  <p>This paragraph is also a block element.</p>
  <a href="#">This is an Inline Element</a> within the paragraph.
</div>

Now, let’s understand what common tags are and their applications,

Common Tags

HTML uses some common tags to define elements on a webpage. These tags are used to structure content, add styles, or enable interactivity. Below is an overview of common HTML tags grouped by their purpose:

Structural Tags

  1. Headings (<h1> to <h6>)
    • Hierarchy: <h1> is the main heading, <h2> is a subheading, and so on up to <h6>.
    • Importance: Essential for SEO and accessibility, as they define the page’s structure for search engines and screen readers.

Example Code:

<h1>Main Heading</h1>
<h2>Subheading</h2>
<h3>Sub-subheading</h3>

  2. Paragraphs (<p>)

  • Used for structuring text into readable blocks.
    Example Code:
<p>This is a paragraph of text.</p>

 3. Divisions (<div>)

  • Used for creating layouts and grouping related content.
  • Often paired with CSS for styling.
    Example Code:
<div class="container">
  <p>This is grouped content inside a div.</p>
</div>

Let’s now explore some common media tags used in HTML. 

Media Tags

  1. Images (<img>)
    • Attributes:
      • src: Specifies the image source URL.
      • alt: Provides alternative text for accessibility.
        Example Code:
<img src="example.jpg" alt="An example image">

  2. Videos (<video>)

  • Attributes:
  • controls: Adds play, pause, and volume controls.
  • autoplay: Automatically starts the video.
    Example Code:
<video src="example.mp4" controls autoplay></video>

Links 

  1. Anchor Tags (<a>)
    • Used to create hyperlinks.
    • Attributes:
      • href: Specifies the URL of the link.
      • targetSpecifies where to open the link (_blank for a new tab).

Example Code:

<a href="https://example.com" target="_blank">Visit Example</a>

In the next section, you’ll learn about HTML attributes and their functions,

Attributes in HTML

HTML attributes provide additional information about elements.

Standard Attributes

  • id: Assigns a unique identifier to an element.
  • class: Groups elements for styling or scripting.
  • src: Specifies the source file for media elements.
  • alt: Provides alternative text for images.

Newly Added Attributes

  • lang: Specifies the language of the content.
    Example: <html lang="en">
  • charset: Specifies the character encoding for the document.
    Example: <meta charset="UTF-8">

Attribute Table:

Attribute Purpose Example
id Unique identifier for elements. <div id="main"></div>
class Grouping for styling or scripting. <div class="container"></div>
src Specifies the source of media. <img src="image.jpg">
alt Accessibility text for images. <img alt="Example image">
lang Defines content language. <html lang="en">
charset Character encoding declaration. <meta charset="UTF-8">

By mastering these essential HTML tags, attributes, and elements, you can build well-structured, accessible, and visually appealing web pages.

Now, you’ll see how you can add meaning to your code with semantic HTML. 

Semantic HTML: Adding Meaning to Your Code

Semantic HTML enhances the structure of your code by using meaningful tags that clearly describe their purpose. Unlike generic <div> and <span> tags, semantic elements convey intent and improve accessibility, SEO, and maintainability. 

What is Semantic HTML?

Semantic HTML refers to tags that provide meaning to web page content. These elements make it easier for developers, browsers, and assistive technologies to interpret the content of a web page. 

For example, instead of using <div> to group content, semantic elements like <header> or <article> define the purpose of that section.

Benefits of Semantic HTML:

  • Improves readability for developers.
  • Enhances accessibility for screen readers.
  • Boosts SEO by helping search engines understand page content.
  • Provides better maintainability and collaboration for projects.

Key Semantic Elements

Structural Elements

  1. <header>
    • Purpose: Represents the introductory content or navigational links for a section or page.
    • Use Case: Ideal for adding logos, navigation menus, or introductory text.

Example Code:

<header>
  <h1>Welcome to My Website</h1>
  <nav>
    <ul>
      <li><a href="#home">Home</a></li>
      <li><a href="#about">About</a></li>
      <li><a href="#contact">Contact</a></li>
    </ul>
  </nav>
</header>

2. <footer>

  • Purpose: Represents the footer for a section or the entire page, typically containing copyright info, links, or credits.
  • Use Case: Add a site map, contact links, or legal disclaimers.

Example Code:

<footer>
  <p>&copy; 2025 My Website. All rights reserved.</p>
  <a href="privacy-policy.html">Privacy Policy</a>
</footer>

3. <main>

  • Purpose: Represents the main content of a page, excluding sidebars, headers, or footers.
  • Use Case: Focuses on the core content that is unique to the page.

Example Code:

<main>
  <h2>About Us</h2>
  <p>We are a team dedicated to creating exceptional web experiences.</p>
</main>

4. <nav>

  • Purpose: Defines a navigation block containing links to other parts of the website or page.
  • Use Case: Use for primary or secondary navigation menus.

Example Code:

<nav>
  <ul>
    <li><a href="#services">Services</a></li>
    <li><a href="#portfolio">Portfolio</a></li>
    <li><a href="#team">Team</a></li>
  </ul>
</nav>

Content-Specific Elements

  1. <article>
    • Purpose: Represents self-contained content, such as a blog post, news article, or forum entry.
    • Use Case: Ideal for reusable or standalone content.

Example Code:

<article>
  <h2>Breaking News</h2>
  <p>This is a breaking news story about the latest trends in technology.</p>
</article>

2. <section>

  • Purpose: Defines a thematic grouping of content, typically with a heading.
  • Use Case: Use to organize content into meaningful sections, such as "Features" or "FAQs."

Example Code:

<section>
  <h2>Our Services</h2>
  <p>We offer web development, SEO optimization, and graphic design.</p>
</section>

3. <aside>

  • Purpose: Represents content indirectly related to the main content, such as sidebars, quotes, or advertisements.
  • Use Case: Use for supplementary content like promotional banners or related links.

Example Code:

<aside>
  <h3>Related Articles</h3>
  <ul>
    <li><a href="#article1">Understanding SEO</a></li>
    <li><a href="#article2">Top Web Design Trends</a></li>
  </ul>
</aside>

Semantic HTML improves readability, SEO, and accessibility, making it a vital skill for creating modern, efficient web pages. By using these elements appropriately, developers ensure that their code is meaningful, maintainable, and user-friendly.

Let’s now take a look at the outline and accessibility of an HTML document. 

upGrad’s Exclusive Software Development Webinar for you –

SAAS Business – What is So Different?

 

HTML Document Outline and Accessibility

An organized HTML document outline and enhanced accessibility are critical for creating web pages that are both user-friendly and inclusive. By leveraging semantic tags and accessibility best practices, developers can ensure better navigation and usability for all users, including those relying on assistive technologies.

How the HTML Document Outline Works

The HTML document outline defines the logical structure of a webpage, and the basic structure of HTML, guiding both users and search engines through the hierarchy of content.

Key Concepts of the Outline:

  • Headings (<h1> to <h6>): Create a hierarchy for content, with <h1> as the main heading and subsequent tags for subsections.
  • Semantic Tags: Tags like <section>, <article>, and <nav> create meaningful divisions, helping browsers and screen readers interpret content.
  • Logical Flow: Ensures content is well-structured, improving readability and SEO performance.

Best Practices:

  • Use a single <h1> tag per page to define the main topic.
  • Maintain a logical heading order (e.g., <h2> for main sections, <h3> for subsections).
  • Avoid skipping heading levels to preserve the structure.

Example Outline:

<h1>Main Title</h1>
<section>
  <h2>Subsection 1</h2>
  <p>Content for subsection 1.</p>
  <h3>Sub-subsection 1.1</h3>
  <p>Content for sub-subsection 1.1.</p>
</section>
<section>
  <h2>Subsection 2</h2>
  <p>Content for subsection 2.</p>
</section>

Improving Accessibility with HTML

Accessibility ensures that all users, including those with disabilities, can navigate and interact with web content effectively. HTML provides several features to enhance accessibility.

Using Semantic Tags to Enhance Navigation

Semantic tags improve the experience for screen readers by creating a clear structure:

  • Benefits:
    • Enables quick navigation between sections (e.g., <nav>, <main>, <footer>).
    • Provides meaningful context to assistive technologies.
  • Example:
<header>
  <h1>Website Title</h1>
  <nav>
    <ul>
      <li><a href="#about">About</a></li>
      <li><a href="#services">Services</a></li>
      <li><a href="#contact">Contact</a></li>
    </ul>
  </nav>
</header>

Descriptive Alt Attributes for Images

The alt attribute provides alternative text for images, helping visually impaired users understand the content.

  • Best Practices:
    • Write clear, concise descriptions of the image.
    • Avoid using "image of" or "picture of" unnecessarily.
  • Example:
<img src="team.jpg" alt="Photo of the company team working in an office.">

Labels for Forms

Labels associate input fields with descriptive text, making forms more accessible.

  • Benefits:
    • Helps screen readers identify the purpose of form fields.
    • Improves usability for all users.

Example:

<form>
  <label for="email">Email Address:</label>
  <input type="email" id="email" name="email" required>
  <button type="submit">Subscribe</button>
</form>

In the next section, you’ll learn about some advanced HTML features used in modern web pages. 

Advanced HTML Features for Modern Web Pages

Modern web pages leverage advanced HTML features to create interactive, structured, and accessible content. This includes working with forms for user input and using tables for structured data representation.

Working with Forms

Forms are essential for collecting user data and interacting with web applications. HTML provides robust features to structure forms and ensure usability.

Structure of a Form

Forms typically consist of the following elements:

  • <form>: The container for all form elements.
  • <input>: Defines input fields for user data.
  • <label>: Links descriptive text to input fields.

Attributes:

  • action: Specifies the URL to send form data.
  • method: Defines the HTTP method (GET or POST).
  • name: Assigns a name to form fields for backend processing.
  • required: Ensures a field is mandatory.

Overview of Input Types

HTML supports various input types for flexibility in data collection:

  • text: For single-line text input.
  • email: For email addresses with validation.
  • password: For masked input.

Example Code:

<form action="/submit" method="POST">
  <label for="username">Username:</label>
  <input type="text" id="username" name="username" required>

  <label for="email">Email:</label>
  <input type="email" id="email" name="email" required>

  <label for="password">Password:</label>
  <input type="password" id="password" name="password" required>

  <button type="submit">Register</button>
</form>

Now, let’s explore how tables for data representation work.

Tables for Data Representation

Tables allow structured representation of data in rows and columns, making information easier to interpret.

Basic Table Structure

Tables are built using the following elements:

  • <table>: The container for the table.
  • <tr>: Table rows.
  • <th>: Header cells, usually bold and centered.
  • <td>: Standard data cells.

Styling Tips and Best Practices for Accessibility

  • Use <caption> to provide a title for the table.
  • Add scope attributes in <th> for better screen reader compatibility.
  • Use alternate row colors for better readability.

Example Code:

<table border="1">
  <caption>Monthly Sales Data</caption>
  <thead>
    <tr>
      <th scope="col">Month</th>
      <th scope="col">Sales</th>
      <th scope="col">Profit</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>January</td>
      <td>$10,000</td>
      <td>$2,500</td>
    </tr>
    <tr>
      <td>February</td>
      <td>$12,000</td>
      <td>$3,000</td>
    </tr>
  </tbody>
</table>

Best Practices:

  • Use CSS for styling rather than inline attributes.
  • Avoid excessive nesting of tables to ensure clarity.
  • Add aria-labels or summaries for accessibility.

CSS Styling Example:

<style>
  table {
    width: 100%;
    border-collapse: collapse;
  }
  th, td {
    padding: 10px;
    text-align: left;
    border: 1px solid #ddd;
  }
  tr:nth-child(even) {
    background-color: #f9f9f9;
  }
</style>

By mastering forms and tables, you can create dynamic and user-friendly web pages that provide both interactivity and clear data presentation. These features enhance the usability and functionality of modern websites.

Next, let’s explore some of the best practices for writing HTML code. 

Best Practices for Writing HTML Code

Writing clean, well-structured HTML is essential for creating maintainable and accessible web pages. Adhering to best practices while working with the basic structure of HTML ensures better performance, easier debugging, and improved compatibility across browsers and devices.

1. Keep Your Code Clean and Organized

  • Use proper indentation to clearly indicate nested elements.
  • Add meaningful comments to explain complex sections.
  • Remove unnecessary or unused code to reduce clutter.
  • Use semantic tags (<header>, <section>) for clear structure.

Example of Organized Code:

<!DOCTYPE html>
<html lang="en">
<head>
  <title>Best Practices Example</title>
</head>
<body>
  <!-- Main Content Section -->
  <header>
    <h1>Welcome to My Website</h1>
  </header>
  <main>
    <section>
      <h2>About Us</h2>
      <p>This section contains information about our company.</p>
    </section>
  </main>
</body>
</html>

2. Avoid Common HTML Mistakes

Certain mistakes can lead to errors or unexpected behavior in your web pages.

Common Mistakes and How to Avoid Them:

  • Unclosed Tags:
    Always close your tags properly to avoid rendering issues.
    • Mistake: <p>This is a paragraph.
    • Fix: <p>This is a paragraph.</p>
  • Improper Nesting:
    Ensure tags are correctly nested to maintain document structure.
    • Mistake: <div><p>Text</div></p>
    • Fix: <div><p>Text</p></div>
  • Missing Alt Attributes for Images:
    Always include descriptive alt text for accessibility.
    • Mistake: <img src="image.jpg">
    • Fix: <img src="image.jpg" alt="A descriptive image">
  • Inline Styles Overuse:
    Use external or internal stylesheets for maintainability.
    • Mistake: <p style="color: red; font-size: 20px;">Text</p>

Fix:

<style>
  .highlight {
    color: red;
    font-size: 20px;
  }
</style>
<p class="highlight">Text</p>

3. Validate Your HTML

HTML validation ensures your code follows web standards, improving browser compatibility and reducing bugs.

Benefits of Validation:

  • Identifies syntax errors like unclosed or misused tags.
  • Ensures compliance with accessibility standards.
  • Improves SEO and user experience.

Tools for Validation:

  • W3C Markup Validation Service
  • Integrated validation tools in IDEs like VS Code or Sublime Text.

How to Validate:

  • Copy your HTML code into the validator tool.
  • Review and fix any reported errors or warnings.

By following these best practices, you can write efficient, maintainable, and error-free HTML code, ensuring a seamless user experience and easier collaboration with other developers.

How upGrad Helps You Master HTML and Web Development

Learning HTML coding can help you to streamline your web development projects, allowing you to have greater flexibility in determining how web pages work. At upGrad, you can choose from a plethora of courses and upskill programs that can help you to cultivate your HTML skills and improve your career prospects. You can also enroll for courses on diverse programming languages that can enhance your development skills. 

Here are some upGrad courses that can help you to sharpen your HTML skills: 

Looking for some professional assistance with your future career plans? Then you can take advantage of upGrad’s free career counseling as they can help you to make the best decisions for your career goals.

Boost your career with our popular Software Engineering courses, offering hands-on training and expert guidance to turn you into a skilled software developer.

Master in-demand Software Development skills like coding, system design, DevOps, and agile methodologies to excel in today’s competitive tech industry.

Stay informed with our widely-read Software Development articles, covering everything from coding techniques to the latest advancements in software engineering.

Frequently Asked Questions

1. What is the structure of an HTML document?

2. What is the purpose of <!DOCTYPE html>?

3. Why is the <head> section important?

4. What is the role of the <body> tag?

5. What are semantic HTML tags, and why are they important?

6. How does the HTML document outline affect accessibility?

7. What are common mistakes to avoid in HTML coding?

8. What is the difference between block-level and inline elements?

9. How do semantic tags benefit SEO?

10. What tools can I use to validate my HTML code?

11. How do attributes like alt and label improve accessibility

Rohan Vats

408 articles published

Get Free Consultation

+91

By submitting, I accept the T&C and
Privacy Policy

India’s #1 Tech University

Executive PG Certification in AI-Powered Full Stack Development

77%

seats filled

View Program

Top Resources

Recommended Programs

upGrad

AWS | upGrad KnowledgeHut

AWS Certified Solutions Architect - Associate Training (SAA-C03)

69 Cloud Lab Simulations

Certification

32-Hr Training by Dustin Brimberry

View Program
upGrad

Microsoft | upGrad KnowledgeHut

Microsoft Azure Data Engineering Certification

Access Digital Learning Library

Certification

45 Hrs Live Expert-Led Training

View Program
upGrad

upGrad KnowledgeHut

Professional Certificate Program in UI/UX Design & Design Thinking

#1 Course for UI/UX Designers

Bootcamp

3 Months

View Program