Classes

Classes

Classes are HTML attributes used to select one or more elements for CSS styling or JavaScript purposes.

For Styling

The class attribute is commonly used for assigning styles to one or more elements. Inside the stylesheet, a class name is selected with the following syntax:

.class-name {
}

A class selector is a name preceded by a period (.).

Below is some markup with an outer wrapper-div, containing a level 1 heading and three level 2 sub-headings. The styling for the heading will be unique. However, all elements with the sub-heading class name received the same styling.

<!DOCTYPE html>
<html lang="en">
<head>
<style>
.heading {
background-color: lightcoral;
}
.sub-heading {
background-color: lightskyblue;
margin: 5px;
}
</style>
<title>Classes</title>
</head>
<body>
<div class="wrapper-div">
<h1 class="heading">Welcome to Class!</h1>
<h2 class="sub-heading">_</h2>
<h2 class="sub-heading">_</h2>
<h2 class="sub-heading">_</h2>
</div>
</body>
</html>

Screenshot of styling for heading and sub-headings.

For JavaScript

The class attribute can also be used to perform JavaScript operations on HTML elements. Through the Document Object Model (“DOM”), there are various JavaScript methods built for selecting elements via their class.

Assuming the markup from the last example is linked to a JavaScript file:

window.onload = function () {
const subheadings = document.getElementsByClassName('sub-heading');
for (let i = 0; i < subheadings.length; i++) {
subheadings.item(i).innerText = `Sub-heading ${i + 1}`;
}
};

The code above is assigning an event handler to the onload property of the global window object in the browser. When the window as loaded, the elements with class=sub-heading are collected in subheadings. They are then looped over, their innerText property being changed each iteration.

Screenshot of selecting heading and sub-headings with JavaScript

Interested in helping build Docs? Read the Contribution Guide or share your feedback.

Learn HTML on Codecademy