Basic HTML pages rely on a small group of foundational tags to present text, links, and visuals. Learning how these core tags fit inside a document skeleton gives you everything needed to build real web pages.
Every HTML5 page opens with DOCTYPE html, wraps all markup inside the html root element, and splits metadata (head) from visible content (body).
flowchart TD
A["DOCTYPE html"] --> B["html root element"]
B --> C["head (title, meta, CSS links)"]
B --> D["body (visible content)"]
D --> E["Headings, paragraphs, links, images"]
Inside the body section, you combine four everyday elements:
h1 to h6): Define the main page title and section hierarchy.p): Group readable blocks of prose with automatic vertical spacing.a): Connect users to other pages or sections using the href attribute.img): Embed graphics using src for the file path and alt for accessible text.Here is a clean, working page combining headings, paragraphs, a hyperlink, and an image element:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Basic HTML Page</title>
</head>
<body>
<h1>Developer Profile</h1>
<p>HTML basic tags organize text, links, and media clearly for web browsers.</p>
<p>Explore documentation on <a href="https://developer.mozilla.org" target="_blank" rel="noopener noreferrer">MDN Web Docs</a>.</p>
<img src="/images/developer-avatar.webp" alt="Developer workspace portrait" width="240" height="160">
</body>
</html>
Notice that img is a void element, so it does not wrap text and has no closing tag. Adding width and height attributes lets the browser reserve space before the file finishes downloading, preventing layout shift.
alt on images: Missing alt descriptions block screen reader users and leave empty gaps when images fail to load.target="_blank" without rel="noopener noreferrer": External tabs opened without rel="noopener" can expose security risks on older browsers.p tags so the DOM stays valid.Browsers drop into quirks mode and apply outdated layout rules from the 1990s, causing inconsistent widths and font sizes.
Yes. You can place as many p and a elements inside body as your content requires.
Sign in to track your learning journey, earn industry-recognized certificates, and join our elite developer community.
Quick Access With
Experiment with the code from this lesson in our interactive playground.