These tags help organize a webpage into clear parts: the top (header), the main content (main), and the bottom (footer). This makes pages easier to read and use.
When you want to add a title or navigation at the top of your webpage.
When you need to separate the main content from other parts of the page.
When you want to add copyright or contact info at the bottom of the page.
When you want your webpage to be easier for screen readers to understand.
When you want to improve your website's structure for search engines.
Syntax
HTML
<header>
<!-- Top section content like logo or menu -->
</header>
<main>
<!-- Main content of the page -->
</main>
<footer>
<!-- Bottom section content like copyright -->
</footer>
header is for introductory content or navigation.
main holds the main content unique to the page.
footer is for information at the bottom like contact or legal info.
Examples
A header with a title and simple navigation links.
This webpage uses header, main, and footer to separate the page into top, middle, and bottom sections. The header and footer have a blue background with white text. The main area has a light background and holds the main message.
HTML
<!DOCTYPE html>
<htmllang="en">
<head>
<metacharset="UTF-8">
<metaname="viewport"content="width=device-width, initial-scale=1.0">
<title>Simple Page</title>
<style>
body {
font-family: Arial, sans-serif;
margin: 0;
padding: 0;
display: flex;
flex-direction: column;
min-height: 100vh;
}
header, footer {
background-color: #004080;
color: white;
padding: 1rem;
text-align: center;
}
main {
flex-grow: 1;
padding: 1rem;
background-color: #f0f8ff;
}
</style>
</head>
<body>
<header>
<h1>Welcome to My Website</h1>
</header>
<main>
<p>This is the main content area where you find the most important information.</p>
</main>
<footer>
<p>Contact us at info@example.com</p>
</footer>
</body>
</html>
OutputSuccess
Important Notes
Using these tags helps screen readers understand your page better.
They also improve SEO by clearly showing page structure.
Remember to keep only one main per page for clarity.
Summary
header is for the top part like titles and menus.
main holds the main content unique to the page.
footer is for the bottom part like contact info or copyright.
Practice
(1/5)
1. Which HTML element is best used to contain the main content unique to a webpage?
easy
A. <section>
B. <header>
C. <footer>
D. <main>
Solution
Step 1: Understand the purpose of <main>
The <main> element is designed to hold the main content that is unique to the page, excluding repeated content like headers or footers.
Step 2: Compare with other elements
<header> is for top parts like titles or menus, <footer> is for bottom parts like contact info, and <section> is a generic container but not specifically for main content.
Final Answer:
<main> -> Option D
Quick Check:
Main content = <main> [OK]
Hint: Main content always goes inside <main> tag [OK]
Common Mistakes:
Using <section> instead of <main> for main content
Putting main content inside <header> or <footer>
Confusing <main> with <article>
2. Which of the following is the correct syntax to create a footer section in HTML5?
easy
A. Contact us at email@example.com
B.
C. Contact us at email@example.com
D. Contact us at email@example.com
Solution
Step 1: Identify the correct HTML5 footer tag
The correct tag for footer content is <footer>. Tags like <foot>, <bottom>, and <end> do not exist in HTML5.
Step 2: Confirm the syntax
The syntax <footer>...</footer> correctly wraps footer content.
Final Answer:
<footer>Contact us at email@example.com</footer> -> Option B
Quick Check:
Footer tag = <footer> [OK]
Hint: Footer tag is exactly <footer> in HTML5 [OK]
Common Mistakes:
Using non-existent tags like <foot> or <bottom>
Misspelling the footer tag
Using <div> without semantic meaning
3. What will be the visual order of content in the browser for this HTML snippet?
<header>Site Title</header>
<main>Welcome to our website</main>
<footer>Contact info</footer>
medium
A. Site Title at top, Welcome message in middle, Contact info at bottom
B. Contact info at top, Site Title in middle, Welcome message at bottom
C. Welcome message at top, Contact info in middle, Site Title at bottom
D. All content mixed randomly
Solution
Step 1: Understand semantic order of header, main, footer
The <header> appears first and is shown at the top, <main> is the main content in the middle, and <footer> is at the bottom.
Step 2: Visualize the content placement
Content inside <header> shows "Site Title" at top, <main> shows "Welcome to our website" in the middle, and <footer> shows "Contact info" at the bottom.
Final Answer:
Site Title at top, Welcome message in middle, Contact info at bottom -> Option A
Quick Check:
Header top, main middle, footer bottom [OK]
Hint: Header top, main center, footer bottom visually [OK]
Step 1: Check each tag for proper opening and closing
The <header> and <main> tags are correctly opened and closed. The <footer> tag is opened but closed incorrectly as <footer> instead of </footer>.
Step 2: Identify the specific error
The footer closing tag is missing the slash, causing invalid HTML.
Final Answer:
The closing tag for footer is incorrect -> Option C
Quick Check:
Footer closing tag must be </footer> [OK]
Hint: Closing tags need a slash, e.g. [OK]
Common Mistakes:
Forgetting slash in closing tags
Confusing opening and closing tags
Assuming missing tags instead of wrong closing
5. You want to create a webpage with a header containing a navigation menu, a main section with an article, and a footer with copyright info. Which is the best semantic HTML structure?
The header should contain the navigation menu inside <nav>. The main content should be inside <main> with an <article>. The footer should have copyright info inside <footer>.
Step 2: Check each option for correct semantic structure