Introduction
HTML (HyperText Markup Language) is the foundation of web development. This cheatsheet provides a list of HTML tags along with their descriptions and usage.
What is HTML?
HTML is a markup language used to structure web pages. It consists of elements (tags) that define content, layout, and functionality.
Basic Structure
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Page Title</title>
</head>
<body>
<!-- Content goes here -->
</body>
</html>
Head Section Elements
-
<title>
: Defines the title of the web page (shown in the browser tab). -
<meta>
: Provides metadata like charset, viewport, keywords, etc.<meta name="description" content="A brief description of the page">
-
<link>
: Links to external files such as stylesheets.<link rel="stylesheet" href="https://dev.to/tene/styles.css">
-
<style>
: Embeds internal CSS styles within the head.<style> body { font-family: Arial, sans-serif; } </style>
Text Elements
-
<h1>
to<h6>
: Heading tags,<h1>
being the highest/most important.<h1>Main Heading</h1> <h2>Subheading</h2>
-
<p>
: Paragraph tag.<p>This is a paragraph of text.</p>
-
<br>
: Line break (self-closing). -
<hr>
: Horizontal rule/line (self-closing). -
<strong>
: Bold text. -
<em>
: Italicized/emphasized text.
Links and Images
-
<a>
: Anchor tag for hyperlinks.<a href="https://example.com">Visit Example</a>
- Use
target="_blank"
to open links in a new tab.
- Use
-
<img>
: Displays an image.<img src="https://dev.to/tene/image.jpg" alt="Description of image">
- Attributes:
src
(source),alt
(alternate text),width
,height
.
- Attributes:
Lists
-
Ordered List (
<ol>
):<ol> <li>First item</li> <li>Second item</li> </ol>
-
Unordered List (
<ul>
):<ul> <li>Bullet point one</li> <li>Bullet point two</li> </ul>
-
Definition List (
<dl>
,<dt>
,<dd>
):<dl> <dt>Term</dt> <dd>Definition of the term</dd> </dl>
Tables
<table>
<tr>
<th>Header 1</th>
<th>Header 2</th>
</tr>
<tr>
<td>Data 1</td>
<td>Data 2</td>
</tr>
</table>
-
<thead>
,<tbody>
,<tfoot>
: Group table sections. -
<th>
: Table header cell. -
<td>
: Table data cell.
Forms
<form action="/submit" method="post">
<label for="name">Name:</label>
<input type="text" id="name" name="name" required>
<label for="email">Email:</label>
<input type="email" id="email" name="email" required>
<input type="submit" value="Submit">
</form>
-
<input>
: Different input types (text
,email
,password
,radio
,checkbox
,submit
, etc.). -
<label>
: Label for form elements. -
<textarea>
: Multi-line text input.<textarea rows="4" cols="50"></textarea>
-
<select>
and<option>
: Dropdown menu.<select> <option value="1">Option 1</option> <option value="2">Option 2</option> </select>
Multimedia
-
<audio>
: Embeds an audio file.<audio controls> <source src="https://dev.to/tene/audio.mp3" type="audio/mpeg"> Your browser does not support the audio tag. </audio>
-
<video>
: Embeds a video file.<video width="320" height="240" controls> <source src="https://dev.to/tene/video.mp4" type="video/mp4"> Your browser does not support the video tag. </video>
Semantic Elements
-
<header>
: Defines a header section. -
<nav>
: Defines a navigation section. -
<main>
: Main content of the document. -
<article>
: An independent piece of content. -
<section>
: Defines sections in a document. -
<footer>
: Footer of a document. -
<aside>
: Content tangentially related to the main content. -
<figure>
and<figcaption>
: Used for figures/images with captions.
Block vs Inline Elements
Block-level elements (take up full width):* `<div>`, `<p>`, `<h1>`-`<h6>`, `<section>`, `<article>`, `<table>`, `<form>` **Inline elements** (take up only necessary space):
-
<a>
,<span>
,<img>
,<strong>
,<em>
,<input>
Other Common Elements
-
<div>
: Generic container for block-level content. -
<span>
: Generic container for inline content. -
<script>
: Embeds or links to JavaScript.<script src="https://dev.to/tene/app.js"></script>
-
<noscript>
: Display content if JavaScript is disabled.<noscript>JavaScript is not enabled in your browser.</noscript>
Global Attributes
-
class
: Assigns a class to an element for CSS/JS targeting.<p class="intro">This is an intro paragraph.</p>
-
id
: Unique identifier for an element.<div id="main-content"></div>
-
style
: Inline CSS styles.<p style="color: blue;">Styled text</p>
-
data-*
: Custom data attributes.<div data-user-id="123">User Content</div>
HTML5 New Elements
Input Types (HTML5)
HTML5 introduced new input types for better form control.
-
email
: For email addresses. -
url
: For URLs. -
number
: For numerical input. -
range
: A slider control for selecting a range.<input type="range" min="0" max="100">
-
date
: For selecting a date. -
color
: For choosing a color.<input type="color">
Inline vs Block Differences
Make sure to explain the differences between inline and block elements for clarity:
- Inline elements: Flow within a line. Examples include
<a>
,<span>
,<img>
,<strong>
,<em>
,<input>
. - Block elements: Start on a new line and stretch to the full width of their parent. Examples include
<div>
,<p>
,<h1>
to<h6>
,<section>
,<header>
,<footer>
,<table>
,<article>
.
Forms with Validation (HTML5)
HTML5 introduced attributes for client-side form validation:
-
required
: Makes a field required.<input type="text" required>
-
pattern
: Specifies a regex pattern for input validation.<input type="text" pattern="[A-Za-z]{3,}">
-
min
,max
,step
: Define limits for input types likenumber
,range
, ordate
.<input type="number" min="1" max="100" step="5">
Accessibility Best Practices
For SEO and user accessibility, you can mention some key practices:
-
alt
attribute for images: Always add descriptivealt
text to images for screen readers and better SEO. -
ARIA (Accessible Rich Internet Applications) attributes: Make web content more accessible to people with disabilities.
<button aria-label="Close">X</button>
Best Practices for SEO
Include these tips for HTML best practices in relation to SEO:
- Use semantic HTML tags: Elements like
<article>
,<section>
, and<header>
provide better structure for search engines. -
Meaningful URLs and anchor text: Make sure your links are descriptive.
<a href="https://dev.to/about-us">Learn more about us</a>
-
Meta descriptions: Always include unique meta descriptions.
<meta name="description" content="Your page description here">
-
Heading hierarchy: Follow a logical order for headings (
<h1>
to<h6>
).
CSS and JavaScript Integration
Explain how to include CSS and JavaScript within HTML.
-
Internal CSS:
<style> body { background-color: #f4f4f4; } </style>
-
External CSS:
<link rel="stylesheet" href="https://dev.to/tene/styles.css">
-
Inline CSS:
<p style="color: red;">This text is red.</p>
-
JavaScript in HTML:
<script src="https://dev.to/tene/app.js"></script>
-
Inline JavaScript:
<button onclick="alert('Hello!')">Click Me</button>
Doctype and Charset
Explain the importance of these attributes in your HTML document:
-
<!DOCTYPE html>
: Declares the document type and helps the browser render the page correctly. -
<meta charset="UTF-8">
: Ensures proper rendering of characters and symbols.
Favicons and Meta Tags
-
Favicon: Add a small icon that represents the website in the browser tab.
<link rel="icon" href="https://dev.to/tene/favicon.ico" type="image/x-icon">
-
Meta Tags for SEO and Social Media:
* **`<meta>` for Search Engines**: Improve SEO by using meta descriptions and keywords.
<meta name="description" content="An ultimate HTML cheat sheet for beginners to advanced developers.">
<meta name="keywords" content="HTML, cheat sheet, web development, HTML tags, SEO">
* **Open Graph for Social Media**: Optimize how your site looks when shared on social media.
<meta property="og:title" content="Ultimate HTML Cheat Sheet">
<meta property="og:description" content="Learn all essential HTML tags with examples in this complete HTML cheat sheet.">
<meta property="og:image" content="https://dev.to/tene/image.jpg">
<meta property="og:url" content="https://example.com/html-cheat-sheet">
Best Practices for Performance Optimization
You can briefly mention some HTML tips that help with performance:
- Minimize HTTP requests: Combine CSS/JS files or use CDN links to reduce load time.
-
Lazy Loading for Images: Load images only when they appear in the viewport.
<img src="https://dev.to/tene/image.jpg" alt="image" loading="lazy">
-
Async/Defer JavaScript: Use the
async
ordefer
attribute in<script>
tags to prevent render-blocking.<script src="https://dev.to/tene/app.js" async></script>
Custom Data Attributes (data-*
)
HTML allows you to add custom attributes with data-*
:
-
These can be useful for storing custom data for scripts.
<div data-user-id="123" data-role="admin">User Info</div>
-
You can access these with JavaScript via
dataset
:let userId = document.querySelector('div').dataset.userId;
Comments in HTML
Always remind developers to use comments to document their code:
<!-- This is a comment -->
- Comments are helpful for other developers (or yourself) when revisiting code.
- They do not affect the page and are not visible to users.
Accessibility: alt
and aria
Promoting accessibility is important:
-
Use
alt
attributes for all images to describe the content.<img src="https://dev.to/tene/photo.jpg" alt="A photo of a sunset">
-
ARIA (Accessible Rich Internet Applications) attributes for better interaction with assistive technologies:
<button aria-label="Close">X</button>
HTML Entities
When you need to display special characters in HTML, use HTML entities:
-
Common Entities:
-
&
:&
-
<
:<
-
>
:>
-
"
:"
-
'
:'
Example:
<p>5 < 10 is true</p>
-
Example of a Responsive Web Page
You can include an example of a simple, responsive web page structure, like this:
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Responsive Web Page</title>
<style>
body { font-family: Arial, sans-serif; }
header { background-color: #4CAF50; color: white; padding: 1em; text-align: center; }
nav ul { list-style-type: none; }
nav ul li { display: inline; margin-right: 15px; }
section { padding: 20px; }
@media (max-width: 600px) {
nav ul li { display: block; margin-bottom: 10px; }
}
</style>
</head>
<body>
<header>
<h1>Welcome to My Responsive Page</h1>
</header>
<nav>
<ul>
<li><a href="#home">Home</a></li>
<li><a href="#services">Services</a></li>
<li><a href="#contact">Contact</a></li>
</ul>
</nav>
<section>
<h2>About Us</h2>
<p>This page is fully responsive and adapts to screen sizes.</p>
</section>
</body>
</html>
This will be a good reference for beginners learning how to structure a responsive page.
Conclusion
This HTML Cheat Sheet covers the most essential tags and attributes you need to start building and optimizing websites. From structuring your page, adding text and multimedia, to enhancing accessibility and SEO, these snippets will help you become more efficient in web development. Bookmark this page for future reference and feel free to experiment with different HTML elements as you continue to improve your coding skills.
Did we miss any important tags? Let us know in the comments!