Both id and class are used to identify HTML elements, but they serve different purposes. The id attribute uniquely identifies a single element, while the class attribute groups multiple elements under a shared name for styling or scripting.
What is the difference between id and class attributes in HTML?
Use guided tracks for structured prep, then practice company-specific question sets when you want targeted interview coverage.
Overview
The id and class attributes are both used to label HTML elements, but they work differently. The id attribute gives an element a unique name on the page, while class allows multiple elements to share the same style or behavior.
Attribute | Purpose | Usage Scope | Example |
|---|---|---|---|
| Identifies a single, unique element | Can be used only once per page |
|
| Groups multiple elements with a shared style or role | Can be reused across many elements |
|
Example 1: Using id for a unique element
<h1 id="main-title">Welcome to My Website</h1>
<style>
#main-title {
color: royalblue;
text-align: center;
}
</style>
Here, #main-title is a unique selector that applies styles only to that specific heading.
Example 2: Using class for reusable styling
<button class="btn">OK</button>
<button class="btn">Cancel</button>
<style>
.btn {
background-color: teal;
color: white;
padding: 10px 20px;
border: none;
border-radius: 4px;
}
</style>
The class attribute lets you style multiple buttons the same way, making your CSS reusable and consistent.
Key Differences
idmust be unique — each value can appear only once per HTML document.classcan be shared by any number of elements.idis selected in CSS with#(e.g.#header), whileclassis selected with.(e.g..btn).idis often used for JavaScript targeting or page anchors;classis used for styling and grouping.
Think of id as a name tag — one per person.<br>And class as a team jersey — many people can wear the same one.
iduniquely identifies one element per page.classgroups elements that share styles or behavior.- Use
idfor single targets (anchors, JS hooks). - Use
classfor reusable styles and layouts.