What is the Difference Between Single and Double Colon in CSS?

Do you know what is the difference between single and double colon in CSS? Or did you know that there is a difference at all?

/* CSS3 syntax */
.css3::before { ... },
.css3::after  { ... }

/* CSS2 syntax */
.css2:before { ... },
.css2:after  { ... }
Copied to clipboard!

Single is used for pseudo-classes like :active or :hover, while double is used for pseudo-elements like ::before or ::after. So what is the difference between pseudo-classes and pseudo-elements?


Pseudo-classes as used for selecting states of an element. They are not elements themselves. Some examples are:

.anchor:hover {
    /* styles for the hover state of the anchor */

.anchor:visited {
   /* styles for already visited anchor */
Copied to clipboard!


pseudo-elements on the other hand are used for selecting parts of an actual DOM element, such as what comes before or after it, specific letters, or even lines. Some examples are:

.paragraph::before {
    /* style the pseudo element before the paragraph */

.paragraph::after {
    /* style the pseudo element after the paragraph */

.paragraph::first-line {
    /* style the first line of the paragraph */

.paragraph::first-letter {
    /* style the first letter of the paragraph */
Copied to clipboard!
What is the difference between sing and double colon in CSS?
If you would like to see more Webtips, follow @flowforfrank

10 Best Practices for Quickly Improving Your CSS


Remove ads
Remove ads

📚 Get access to exclusive content

Want to get access to exclusive content? Support webtips with the price of a coffee to get access to tips, checklists, cheatsheets, and much more. ☕

Get access Support us
Remove ads
Remove ads
Remove ads
🎉 Thank you for subscribing to our newsletter. x This site uses cookies We use cookies to understand visitors and create a better experience for you. By clicking on "Accept", you accept its use. To find out more, please see our privacy policy.