HTML Classes
Learn HTML through interactive, bite-sized lessons. Build real websites and see your code come to life instantly.
Start HTML Journey →HTML classes are a fundamental attribute used to categorize and style elements in web development. They provide a way to apply consistent styling across multiple elements and enhance the structure of your HTML documents.
What are HTML Classes?
Classes in HTML are attributes that allow you to assign one or more labels to elements. These labels can be used to:
- Group similar elements together
- Apply CSS styles to multiple elements at once
- Manipulate elements with JavaScript
- Improve the semantic structure of your HTML
Syntax and Usage
To add a class to an HTML element, use the class attribute followed by the class name. Here's a basic example:
<p class="highlight">This paragraph has a class.</p>
You can also assign multiple classes to a single element by separating them with spaces:
<div class="container flex-box">This div has two classes.</div>
Practical Examples
Styling with CSS
One of the most common uses of HTML classes is for applying CSS styles. Here's an example:
<!-- HTML -->
<p class="error-message">This is an error message.</p>
<!-- CSS -->
<style>
.error-message {
color: red;
font-weight: bold;
}
</style>
JavaScript Interaction
Classes can also be used to select elements for JavaScript manipulation:
<!-- HTML -->
<button class="toggle-btn">Toggle</button>
<div class="content">Content to toggle</div>
<!-- JavaScript -->
<script>
const toggleBtn = document.querySelector('.toggle-btn');
const content = document.querySelector('.content');
toggleBtn.addEventListener('click', () => {
content.classList.toggle('hidden');
});
</script>
Best Practices
- Use meaningful and descriptive class names
- Keep class names lowercase and use hyphens for multi-word names
- Avoid using classes for styling single elements; consider using HTML IDs instead
- Combine classes to create reusable and modular styles
- Use classes for styling and behavior, not for structure (use semantic HTML5 semantic elements for that)
Classes vs. IDs
While classes and HTML IDs serve similar purposes, they have key differences:
| Classes | IDs |
|---|---|
| Can be used on multiple elements | Must be unique within a page |
| Selected with a dot (.) in CSS | Selected with a hash (#) in CSS |
| Lower specificity in CSS | Higher specificity in CSS |
Conclusion
HTML classes are a versatile tool for web developers. They provide a way to organize, style, and manipulate elements efficiently. By understanding and effectively using classes, you can create more maintainable and flexible web pages.
For more information on related topics, check out HTML attributes and HTML and CSS.