Get affordable and hassle-free WordPress hosting plans with Cloudways — start your free trial today.
A class selector in CSS starts with a dot (.), like this:
.class { } A class selector selects all elements with a matching class attribute.
For example, this element:
<button class="big-button">Push Me</button> is selected and styled like this:
.big-button { font-size: 60px; } You can give a class any name that starts with a letter, hyphen (-), or underscore (_). You can use numbers in class names, but a number can’t be the first character or the second character after a hyphen. Unless you get crazy and start escaping selectors, which can get weird:
.\3A \`\( { /* matches elements with class=":`(" */ } An element can have more than one class:
<p class="intro blue"> This paragraph will get styles from .intro and .blue selectors. </p> An element with multiple classes is styled with the CSS rules for each class. You can also combine multiple classes to select elements:
/* only selects elements with BOTH of these classes */ .intro.blue { font-size: 1.3em; } This demo shows how single-class selectors are different from combined selectors:
You can also limit a class selector to a specific kind of element, which is sometimes called “tag qualifying”:
ul.menu { list-style: none; } Specificity
By itself, a class selector has a specificity value of 0, 0, 1, 0. That’s “more powerful” than an element selector (like: a { }) but less powerful than an ID selector (like #header { }). Specificity increases when you combine class selectors or limit the selector to a specific element.
Accessing Classes with JavaScript
You can read and manipulate an element’s classes with classList in JavaScript. For instance, adding a class could be like:
document.getElementById('italicize').classList.add('italic'); This demo shows basic examples of classList in use:
jQuery also has methods for interacting with classes, including .addClass(), .removeClass(), .toggleClass(), and .hasClass().
More Information
- Read the W3C specification for class selectors.
- Learn more about semantic class names.
- Learn more about specificity.
- Learn about the difference between classes and IDs.
- Learn about multiple class selectors and class/ID selector combos.
- Learn about the .classList API.
- Learn about class manipulation in jQuery.
Browser Support
| Chrome | Safari | Firefox | Opera | IE | Android | iOS |
|---|---|---|---|---|---|---|
| Any | Any | Any | Any | Any | Any | Any |
0, 0, 1, 0 ,
Understanding Specification is very Important in CSS