The HTML class
attribute is used to
specify a class for an HTML element.
Multiple HTML elements can share the same class.
The class
attribute is often used to
point to a class name in a style sheet. It can also be used by a
JavaScript to access and manipulate elements with the specific class name.
In the following example we have three
<div>
elements with a
class
attribute with the value of "city".
All of the three <div>
elements
will be styled equally according to the
.city
style definition in the head
section:
<!DOCTYPE html>
<html>
<head>
<style>
.city
{
background-color:
tomato;
color:
white;
border: 2px
solid black;
margin:
20px;
padding:
20px;
}
</style>
</head>
<body>
<div
class="city">
<h2>London</h2>
<p>London is the capital of England.</p>
</div>
<div
class="city">
<h2>Paris</h2>
<p>Paris is the capital of France.</p>
</div>
<div
class="city">
<h2>Tokyo</h2>
<p>Tokyo is the capital of Japan.</p>
</div>
</body>
</html>
London
London is the capital of England.
Paris
Paris is the capital of France.
Tokyo
Tokyo is the capital of Japan.
In the following example we have two
<span>
elements with a
class
attribute with the value of "note".
Both <span>
elements will be styled
equally according to the .note
style
definition in the head section:
<!DOCTYPE html>
<html>
<head>
<style>
.note
{
font-size:
120%;
color:
red;
}
</style>
</head>
<body>
<h1>My
<span
class="note">Important</span>
Heading</h1>
<p>This is some
<span
class="note">important</span>
text.</p>
</body>
</html>
My Important Heading
This is some important text.
Tip: The
class
attribute can be used on
any HTML element.
Note: The class name is case sensitive!
Tip: You can learn much more about CSS in our CSS Tutorial.
To create a class; write a period (.) character, followed by a class name. Then, define the CSS properties within curly braces {}:
Create a class named "city":
<!DOCTYPE html>
<html>
<head>
<style>
.city
{
background-color:
tomato;
color:
white;
padding:
10px;
}
</style>
</head>
<body>
<h2
class="city">London</h2>
<p>London is the capital of England.</p>
<h2
class="city">Paris</h2>
<p>Paris is the capital of France.</p>
<h2
class="city">Tokyo</h2>
<p>Tokyo is the capital of Japan.</p>
</body>
</html>
London
London is the capital of England.
Paris
Paris is the capital of France.
Tokyo
Tokyo is the capital of Japan.
HTML elements can belong to more than one class.
To define multiple classes, separate the class names with a space, e.g. <div class="city main">. The element will be styled according to all the classes specified.
In the following example, the first
<h2>
element belongs to both the
city
class and also to the
main
class, and will get the CSS styles
from both of the classes:
<h2
class="city main">London</h2>
<h2
class="city">Paris</h2>
<h2
class="city">Tokyo</h2>
Different HTML elements can point to the same class name.
In the following example, both
<h2>
and
<p>
points to the "city" class and
will share the same style:
<h2
class="city">Paris</h2>
<p
class="city">Paris is the capital of France</p>
The class name can also be used by JavaScript to perform certain tasks for specific elements.
JavaScript can access elements with a specific class name with the
getElementsByClassName()
method:
Click on a button to hide all elements with the class name "city":
<script>
function
myFunction() {
var
x =
document.getElementsByClassName("city");
for
(var i =
0; i <
x.length;
i++) {
x[i].style.display
=
"none";
}
}
</script>
Don't worry if you don't understand the code in the example above.
You will learn more about JavaScript in our HTML JavaScript chapter, or you can study our JavaScript Tutorial.
class
attribute specifies one
or more class names for an element
class
attribute can be used on any
HTML element
getElementsByClassName()
method